From 7f3c7835831c9308ee3728883db0f77ab4dbf7df Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 31 Jan 2013 15:27:13 +0100 Subject: [PATCH] unix: don't clobber errno in signal handler --- src/unix/signal.c | 3 +++ 1 file changed, 3 insertions(+) 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; }