diff --git a/src/unix/linux-core.c b/src/unix/linux-core.c index 516556fb1..d09bbcdd6 100644 --- a/src/unix/linux-core.c +++ b/src/unix/linux-core.c @@ -388,7 +388,8 @@ void uv__io_poll(uv_loop_t* loop, int timeout) { * free when we switch over to edge-triggered I/O. */ if (pe->events == POLLERR || pe->events == POLLHUP) - pe->events |= w->pevents & (POLLIN | POLLOUT | UV__POLLPRI); + pe->events |= + w->pevents & (POLLIN | POLLOUT | UV__POLLRDHUP | UV__POLLPRI); if (pe->events != 0) { /* Run signal watchers last. This also affects child process watchers