From: David Herrmann Date: Sun, 7 Oct 2012 11:09:27 +0000 (+0200) Subject: eloop: fix leaving dead FDs pollable X-Git-Tag: kmscon-7~397 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=70bfc314e013b169d16e62cac671acf58f147dc7;p=platform%2Fupstream%2Fkmscon.git 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 --- 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);