diff --git a/common.c b/common.c index d10a115..f06fc96 100644 --- a/common.c +++ b/common.c @@ -1187,11 +1187,11 @@ poller_run (struct poller *self) if (n_fds == -1) exit_fatal ("%s: %s", "epoll", strerror (errno)); - poller_timers_dispatch (&self->timers); - self->dispatch_next = 0; self->dispatch_total = n_fds; + poller_timers_dispatch (&self->timers); + while (self->dispatch_next < self->dispatch_total) { struct epoll_event *revents = self->revents + self->dispatch_next;