diff --git a/src/main/select.c b/src/main/select.c index 4f27b33d..a69e4d20 100644 --- a/src/main/select.c +++ b/src/main/select.c @@ -251,7 +251,7 @@ select_loop(void (*init)(void)) for (i = 0; i < n; i++) { int fd = events[i].data.fd; - if ((events[i].events & EPOLLIN) + if ((events[i].events & (EPOLLIN | EPOLLHUP)) && threads[fd].read_func) { threads[fd].read_func(threads[fd].data); check_bottom_halves();