summaryrefslogtreecommitdiff
path: root/lib/thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/thread.c')
-rw-r--r--lib/thread.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/thread.c b/lib/thread.c
index 34802fcedd..dbdd91dd24 100644
--- a/lib/thread.c
+++ b/lib/thread.c
@@ -1052,14 +1052,13 @@ check_pollfds(struct thread_master *m, fd_set *readfd, int num)
ready++;
/* POLLIN / POLLOUT process event */
- if (m->handler.pfds[i].revents & POLLIN)
+ if (m->handler.pfds[i].revents & (POLLIN | POLLHUP))
thread_process_fds_helper(m, m->read[m->handler.pfds[i].fd], NULL, POLLIN, i);
if (m->handler.pfds[i].revents & POLLOUT)
thread_process_fds_helper(m, m->write[m->handler.pfds[i].fd], NULL, POLLOUT, i);
/* remove fd from list on POLLNVAL */
- if (m->handler.pfds[i].revents & POLLNVAL ||
- m->handler.pfds[i].revents & POLLHUP)
+ if (m->handler.pfds[i].revents & POLLNVAL)
{
memmove(m->handler.pfds+i,
m->handler.pfds+i+1,