diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:21:31 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-07-28 23:21:31 +0200 |
commit | a2dc819630731a9833e3bf22117e06b129306085 (patch) | |
tree | bd2943d283bfca9e309d8a791358969f47d5c177 /libdaemon/dsignal.c | |
parent | 255e56d0508293858cdabc785fbd4a0f6e0c9f6b (diff) |
save and restore errno in destructor
Diffstat (limited to 'libdaemon/dsignal.c')
-rw-r--r-- | libdaemon/dsignal.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libdaemon/dsignal.c b/libdaemon/dsignal.c index 2593d42..f538395 100644 --- a/libdaemon/dsignal.c +++ b/libdaemon/dsignal.c @@ -116,6 +116,8 @@ int daemon_signal_init(int s, ...) { } void daemon_signal_done(void) { + int saved_errno = errno; + if (_signal_pipe[0] != -1) close(_signal_pipe[0]); @@ -123,6 +125,8 @@ void daemon_signal_done(void) { close(_signal_pipe[1]); _signal_pipe[0] = _signal_pipe[1] = -1; + + errno = saved_errno; } int daemon_signal_next(void) { |