diff options
Diffstat (limited to 'source4/lib/events')
-rw-r--r-- | source4/lib/events/events.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source4/lib/events/events.c b/source4/lib/events/events.c index 3460627399..9783603759 100644 --- a/source4/lib/events/events.c +++ b/source4/lib/events/events.c @@ -404,7 +404,8 @@ static int event_loop_epoll(struct event_context *ev, struct timeval *tvalp) epoll_fallback_to_select(ev, "epoll_wait() gave bad data"); return -1; } - if (events[i].events & EPOLLIN) flags |= EVENT_FD_READ; + if (events[i].events & (EPOLLIN|EPOLLHUP|EPOLLERR)) + flags |= EVENT_FD_READ; if (events[i].events & EPOLLOUT) flags |= EVENT_FD_WRITE; if (flags) { fde->handler(ev, fde, flags, fde->private); |