diff --git a/src/unix/process.c b/src/unix/process.c index 267ecb64c..7ef84d0d2 100644 --- a/src/unix/process.c +++ b/src/unix/process.c @@ -73,7 +73,9 @@ static void uv__chld(uv_signal_t* handle, int signum) { assert(signum == SIGCHLD); for (;;) { - pid = waitpid(-1, &status, WNOHANG); + do + pid = waitpid(-1, &status, WNOHANG); + while (pid == -1 && errno == EINTR); if (pid == 0) return;