diff options
author | Ben Noordhuis <info@bnoordhuis.nl> | 2013-07-16 21:04:31 +0200 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2013-07-20 12:04:35 +0200 |
commit | 0e48cb4998a89a2adae95d97f3bce5f89c77d762 (patch) | |
tree | 754bf7e9765fbeb8f0fe9418d9d399335c7c7af8 /deps/uv/src/unix/signal.c | |
parent | 221c689ebbac9bda42c005b7f0278ce420766b22 (diff) | |
download | android-node-v8-0e48cb4998a89a2adae95d97f3bce5f89c77d762.tar.gz android-node-v8-0e48cb4998a89a2adae95d97f3bce5f89c77d762.tar.bz2 android-node-v8-0e48cb4998a89a2adae95d97f3bce5f89c77d762.zip |
deps: upgrade libuv to 3ee4d3f
Diffstat (limited to 'deps/uv/src/unix/signal.c')
-rw-r--r-- | deps/uv/src/unix/signal.c | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c index db277caf3a..583909867d 100644 --- a/deps/uv/src/unix/signal.c +++ b/deps/uv/src/unix/signal.c @@ -171,7 +171,7 @@ static void uv__signal_handler(int signum) { } -static uv_err_t uv__signal_register_handler(int signum) { +static int uv__signal_register_handler(int signum) { /* When this function is called, the signal lock must be held. */ struct sigaction sa; @@ -183,9 +183,9 @@ static uv_err_t uv__signal_register_handler(int signum) { /* XXX save old action so we can restore it later on? */ if (sigaction(signum, &sa, NULL)) - return uv__new_sys_error(errno); + return -errno; - return uv_ok_; + return 0; } @@ -206,12 +206,15 @@ static void uv__signal_unregister_handler(int signum) { static int uv__signal_loop_once_init(uv_loop_t* loop) { + int err; + /* Return if already initialized. */ if (loop->signal_pipefd[0] != -1) return 0; - if (uv__make_pipe(loop->signal_pipefd, UV__F_NONBLOCK)) - return -1; + err = uv__make_pipe(loop->signal_pipefd, UV__F_NONBLOCK); + if (err) + return err; uv__io_init(&loop->signal_io_watcher, uv__signal_event, @@ -249,8 +252,11 @@ void uv__signal_loop_cleanup(uv_loop_t* loop) { int uv_signal_init(uv_loop_t* loop, uv_signal_t* handle) { - if (uv__signal_loop_once_init(loop)) - return uv__set_sys_error(loop, errno); + int err; + + err = uv__signal_loop_once_init(loop); + if (err) + return err; uv__handle_init(loop, (uv_handle_t*) handle, UV_SIGNAL); handle->signum = 0; @@ -277,6 +283,7 @@ void uv__signal_close(uv_signal_t* handle) { int uv_signal_start(uv_signal_t* handle, uv_signal_cb signal_cb, int signum) { sigset_t saved_sigmask; + int err; assert(!(handle->flags & (UV_CLOSING | UV_CLOSED))); @@ -284,10 +291,8 @@ int uv_signal_start(uv_signal_t* handle, uv_signal_cb signal_cb, int signum) { * signum is otherwise invalid then uv__signal_register will find out * eventually. */ - if (signum == 0) { - uv__set_artificial_error(handle->loop, UV_EINVAL); - return -1; - } + if (signum == 0) + return -EINVAL; /* Short circuit: if the signal watcher is already watching {signum} don't * go through the process of deregistering and registering the handler. @@ -310,12 +315,11 @@ int uv_signal_start(uv_signal_t* handle, uv_signal_cb signal_cb, int signum) { * any of the loops), it's time to try and register a handler for it here. */ if (uv__signal_first_handle(signum) == NULL) { - uv_err_t err = uv__signal_register_handler(signum); - if (err.code != UV_OK) { + err = uv__signal_register_handler(signum); + if (err) { /* Registering the signal handler failed. Must be an invalid signal. */ - handle->loop->last_err = err; uv__signal_unlock_and_unblock(&saved_sigmask); - return -1; + return err; } } |