diff --git a/common.c b/common.c index 26be47f..9d26799 100644 --- a/common.c +++ b/common.c @@ -1331,12 +1331,10 @@ poller_run (struct poller *self) for (int i = 0; i < (int) self->len; ) { struct pollfd pfd = self->fds[i]; - if (!pfd.revents) - continue; - struct poller_info *info = self->fds_info + i; self->dispatch_next = ++i; - info->dispatcher (&pfd, info->user_data); + if (pfd.revents) + info->dispatcher (&pfd, info->user_data); i = self->dispatch_next; }