Fix removal from dispatch in timer callbacks
This commit is contained in:
parent
37e1895fd0
commit
21e75ebd55
4
common.c
4
common.c
|
@ -1187,11 +1187,11 @@ poller_run (struct poller *self)
|
||||||
if (n_fds == -1)
|
if (n_fds == -1)
|
||||||
exit_fatal ("%s: %s", "epoll", strerror (errno));
|
exit_fatal ("%s: %s", "epoll", strerror (errno));
|
||||||
|
|
||||||
poller_timers_dispatch (&self->timers);
|
|
||||||
|
|
||||||
self->dispatch_next = 0;
|
self->dispatch_next = 0;
|
||||||
self->dispatch_total = n_fds;
|
self->dispatch_total = n_fds;
|
||||||
|
|
||||||
|
poller_timers_dispatch (&self->timers);
|
||||||
|
|
||||||
while (self->dispatch_next < self->dispatch_total)
|
while (self->dispatch_next < self->dispatch_total)
|
||||||
{
|
{
|
||||||
struct epoll_event *revents = self->revents + self->dispatch_next;
|
struct epoll_event *revents = self->revents + self->dispatch_next;
|
||||||
|
|
Loading…
Reference in New Issue