diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-12-06 01:44:38 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2015-12-06 01:44:38 +0000 |
commit | 32e76c7d514d05d5ac6ad9833035b9826fbc1c8f (patch) | |
tree | 57325b5963b40538e9e7069b818634ea0a821dfc | |
parent | f4263fc2c4f6aa79455f6c8252606b17daf5aa7d (diff) |
Save errno in signal handler
-rw-r--r-- | statemc.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -536,6 +536,7 @@ static void *sigarrived_event(oop_source *lp, int fd, oop_event e, void *u) { } static void sigarrived_handler(int signum) { + int esave = errno; static char x; switch (signum) { case SIGTERM: @@ -546,6 +547,7 @@ static void sigarrived_handler(int signum) { abort(); } write(signal_self_pipe[1],&x,1); + errno = esave; } void init_signals(void) { |