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.
This commit is contained in:
Nick Mathewson 2010-09-30 23:15:47 -04:00
parent a8b7674cd5
commit 0faaee0165

View File

@ -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);