From af681a10915aadbc2af53522be03ba7c60af046a Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Thu, 11 Jan 2018 17:25:24 +0900 Subject: [PATCH] ecore signal write - save and restore errno since may be on mainloop now i disabled the signal thread watcher ... save+restore errno. --- src/lib/ecore/ecore_signal.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/ecore_signal.c b/src/lib/ecore/ecore_signal.c index 4e0b4842ba..e640704212 100644 --- a/src/lib/ecore/ecore_signal.c +++ b/src/lib/ecore/ecore_signal.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include "Ecore.h" @@ -155,7 +156,12 @@ _ecore_signal_callback(int sig, siginfo_t *si, void *foo EINA_UNUSED) #endif sdata.sig = sig; sdata.info = *si; - if (sdata.sig >= 0) write(sig_pipe[1], &sdata, sizeof(sdata)); + if (sdata.sig >= 0) + { + int err = errno; + write(sig_pipe[1], &sdata, sizeof(sdata)); + errno = err; + } } static void