summaryrefslogtreecommitdiff
path: root/deps/uv/src/unix/signal.c
diff options
context:
space:
mode:
authorTimothy J Fontaine <tjfontaine@gmail.com>2013-10-29 16:33:17 -0700
committerTimothy J Fontaine <tjfontaine@gmail.com>2013-10-29 16:33:17 -0700
commita35a212f258812bd178f7f002660a0ddc0bf10b2 (patch)
tree32a27fca226d843207ccb93f08b5d12cd6b53ac6 /deps/uv/src/unix/signal.c
parent613d76ef6a00ec091367de1e63bc51e3ab672cbd (diff)
downloadandroid-node-v8-a35a212f258812bd178f7f002660a0ddc0bf10b2.tar.gz
android-node-v8-a35a212f258812bd178f7f002660a0ddc0bf10b2.tar.bz2
android-node-v8-a35a212f258812bd178f7f002660a0ddc0bf10b2.zip
uv: Upgrade to v0.11.14
Diffstat (limited to 'deps/uv/src/unix/signal.c')
-rw-r--r--deps/uv/src/unix/signal.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c
index 53e524a343..8c0d62f32d 100644
--- a/deps/uv/src/unix/signal.c
+++ b/deps/uv/src/unix/signal.c
@@ -141,7 +141,10 @@ static void uv__signal_handler(int signum) {
saved_errno = errno;
memset(&msg, 0, sizeof msg);
- uv__signal_lock();
+ if (uv__signal_lock()) {
+ errno = saved_errno;
+ return;
+ }
for (handle = uv__signal_first_handle(signum);
handle != NULL && handle->signum == signum;
@@ -240,12 +243,12 @@ void uv__signal_loop_cleanup(uv_loop_t* loop) {
}
if (loop->signal_pipefd[0] != -1) {
- close(loop->signal_pipefd[0]);
+ uv__close(loop->signal_pipefd[0]);
loop->signal_pipefd[0] = -1;
}
if (loop->signal_pipefd[1] != -1) {
- close(loop->signal_pipefd[1]);
+ uv__close(loop->signal_pipefd[1]);
loop->signal_pipefd[1] = -1;
}
}
@@ -335,7 +338,9 @@ int uv_signal_start(uv_signal_t* handle, uv_signal_cb signal_cb, int signum) {
}
-static void uv__signal_event(uv_loop_t* loop, uv__io_t* w, unsigned int events) {
+static void uv__signal_event(uv_loop_t* loop,
+ uv__io_t* w,
+ unsigned int events) {
uv__signal_msg_t* msg;
uv_signal_t* handle;
char buf[sizeof(uv__signal_msg_t) * 32];