From: Nick Mathewson Date: Fri, 1 Oct 2010 03:15:47 +0000 (-0400) Subject: Fix a spurious-call bug on epoll.c X-Git-Tag: release-2.0.8-rc~25 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0faaee016583a46006b46c5c2c82440dad1aefb8;p=libevent Fix a spurious-call bug on epoll.c We were trying to check whether any events had really been notified on an fd before calling evmap_io_active on it, but instead we were checking for an event pointer, which was always true. In practice, this patch shouldn't change much, since epoll_wait shouldn't return an event unless there is actually an event going on. Spotted by an anonymous bug reporter on Sourceforge. Closes bug 3078425. --- diff --git a/epoll.c b/epoll.c index 4f4a512c..b574bf4d 100644 --- a/epoll.c +++ b/epoll.c @@ -349,7 +349,7 @@ epoll_dispatch(struct event_base *base, struct timeval *tv) ev |= EV_WRITE; } - if (!events) + if (!ev) continue; evmap_io_active(base, events[i].data.fd, ev | EV_ET);