[MINOR] always process the run queue from the head.
This ensures that any task wan wake any other task up and that it will be
processed too.
diff --git a/haproxy.c b/haproxy.c
index 1eb714e..696b80d 100644
--- a/haproxy.c
+++ b/haproxy.c
@@ -5616,13 +5616,13 @@
}
/* process each task in the run queue now. Each task may be deleted
- * since we only use tnext.
+ * since we only use the run queue's head. Note that any task can be
+ * woken up by any other task and it will be processed immediately
+ * after as it will be queued on the run queue's head.
*/
- tnext = rq;
- while ((t = tnext) != NULL) {
+ while ((t = rq) != NULL) {
int temp_time;
-
- tnext = t->rqnext;
+
task_sleep(&rq, t);
temp_time = t->process(t);
next_time = MINTIME(temp_time, next_time);