summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2007-10-30 18:36:41 +0000
committerLennart Poettering <lennart@poettering.net>2007-10-30 18:36:41 +0000
commit2c8a74724ba0d799463a5fe8755004f4b0169749 (patch)
treee4ca72e38cb0eb72f5fd8c219e8bc2e4225e2b04
parenta205fe19b78d44170661dbb624b5166220254f72 (diff)
save and restore errno in sighandler
git-svn-id: file:///home/lennart/svn/public/libdaemon/trunk@132 153bfa13-eec0-0310-be40-b0cb6a0e1b4b
-rw-r--r--libdaemon/dsignal.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libdaemon/dsignal.c b/libdaemon/dsignal.c
index 3e156c1..781aa00 100644
--- a/libdaemon/dsignal.c
+++ b/libdaemon/dsignal.c
@@ -37,7 +37,9 @@
static int _signal_pipe[2] = { -1, -1 };
static void _sigfunc(int s) {
+ int saved_errno = errno;
write(_signal_pipe[1], &s, sizeof(s));
+ errno = saved_errno;
}
static int _init(void) {