From 32e76c7d514d05d5ac6ad9833035b9826fbc1c8f Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 6 Dec 2015 01:44:38 +0000 Subject: [PATCH] Save errno in signal handler --- statemc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/statemc.c b/statemc.c index 04f0a1d..cb5139d 100644 --- a/statemc.c +++ b/statemc.c @@ -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) { -- 2.30.2