diff --git a/src/unix/signal.c b/src/unix/signal.c index d3ab6035..f7fd2e5e 100644 --- a/src/unix/signal.c +++ b/src/unix/signal.c @@ -136,7 +136,9 @@ inline static uv_signal_t* uv__signal_first_handle(int signum) { static void uv__signal_handler(int signum) { uv__signal_msg_t msg; uv_signal_t* handle; + int saved_errno; + saved_errno = errno; memset(&msg, 0, sizeof msg); uv__signal_lock(); @@ -165,6 +167,7 @@ static void uv__signal_handler(int signum) { } uv__signal_unlock(); + errno = saved_errno; }