diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2012-10-07 13:09:27 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@googlemail.com> | 2012-10-07 13:09:27 +0200 |
commit | 70bfc314e013b169d16e62cac671acf58f147dc7 (patch) | |
tree | e67f9e0a1066833dfc49a7de290e47c3c590a5f5 | |
parent | 0996ed38a06016e23fbc2f86fc08290cf5b829e3 (diff) |
eloop: fix leaving dead FDs pollable
We used to remove dead FDs from the epoll-loop, but we should do this only
if they are no longer readable. An FD might be dead/HUP but still
readable.
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
-rw-r--r-- | src/eloop.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/eloop.c b/src/eloop.c index 3badbbc..eabfeb2 100644 --- a/src/eloop.c +++ b/src/eloop.c @@ -836,7 +836,7 @@ int ev_eloop_dispatch(struct ev_eloop *loop, int timeout) continue; mask = convert_mask(ep[i].events); - if (mask & EV_HUP) + if ((mask & (EV_ERR | EV_HUP)) == mask) ev_fd_disable(fd); fd->cb(fd, mask, fd->data); |