summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Janouch <p.janouch@gmail.com>2014-09-19 01:06:42 +0200
committerPřemysl Janouch <p.janouch@gmail.com>2014-09-19 01:06:42 +0200
commit21e75ebd552a582bbc4c9a58bc00fd2d321bb637 (patch)
tree9d6f5fd8134ad854d0721490f475f49c1e24f3a2
parent37e1895fd0eee62b12834b18c23e46ea92ce556c (diff)
downloadxK-21e75ebd552a582bbc4c9a58bc00fd2d321bb637.tar.gz
xK-21e75ebd552a582bbc4c9a58bc00fd2d321bb637.tar.xz
xK-21e75ebd552a582bbc4c9a58bc00fd2d321bb637.zip
Fix removal from dispatch in timer callbacks
-rw-r--r--common.c4
1 files changed, 2 insertions, 2 deletions
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;