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