From a2dc819630731a9833e3bf22117e06b129306085 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 28 Jul 2008 23:21:31 +0200 Subject: save and restore errno in destructor --- libdaemon/dsignal.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libdaemon/dsignal.c') 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) { -- cgit