From 4d84da31a8b15085729a8cf0f7f8197a072eda5a Mon Sep 17 00:00:00 2001 From: Andreas Eversberg Date: Sat, 26 Mar 2016 07:36:38 +0100 Subject: [PATCH] Fixing timer handling Usage of more than one timer caused a lock-up. --- src/common/timer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/common/timer.c b/src/common/timer.c index af5db91b..4b07d137 100644 --- a/src/common/timer.c +++ b/src/common/timer.c @@ -57,8 +57,9 @@ void timer_exit(struct timer *timer) timer_tail_p = &timer_head; while (*timer_tail_p) { if (timer == *timer_tail_p) - *timer_tail_p = timer->next; - timer_tail_p = &timer->next; + *timer_tail_p = (*timer_tail_p)->next; + else + timer_tail_p = &((*timer_tail_p)->next); } timer->linked = 0; }