From 01c2bfa5a476a5dbeb74d30c79bf8db62b6be417 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C5=99emysl=20Janouch?=
Date: Sat, 20 Sep 2014 01:59:41 +0200
Subject: Fix timers
Fucking hell. We're still having some event scheduling issues.
---
utils.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
(limited to 'utils.c')
diff --git a/utils.c b/utils.c
index a36533a..1555715 100644
--- a/utils.c
+++ b/utils.c
@@ -926,21 +926,21 @@ poller_timers_heapify_down (struct poller_timers *self, size_t index)
timer_t *left = self->heap + 2 * index + 1;
timer_t *right = self->heap + 2 * index + 2;
- timer_t *largest = parent;
- if (left < end && (*left) ->when > (*largest)->when)
- largest = left;
- if (right < end && (*right)->when > (*largest)->when)
- largest = right;
- if (parent == largest)
+ timer_t *lowest = parent;
+ if (left < end && (*left) ->when < (*lowest)->when)
+ lowest = left;
+ if (right < end && (*right)->when < (*lowest)->when)
+ lowest = right;
+ if (parent == lowest)
break;
timer_t tmp = *parent;
- *parent = *largest;
- *largest = tmp;
+ *parent = *lowest;
+ *lowest = tmp;
- (*parent) ->index = parent - self->heap;
- (*largest)->index = largest - self->heap;
- index = largest - self->heap;
+ (*parent)->index = parent - self->heap;
+ (*lowest)->index = lowest - self->heap;
+ index = lowest - self->heap;
}
}
--
cgit v1.2.3