]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: task: Don't forget to decrement max_processed after each task.
authorOlivier Houchard <ohouchard@haproxy.com>
Mon, 28 May 2018 12:54:49 +0000 (14:54 +0200)
committerWilly Tarreau <w@1wt.eu>
Mon, 28 May 2018 13:20:57 +0000 (15:20 +0200)
When the task list was introduced, we bogusly lost max_processed--, that means
we would execute as much tasks as present in the list, and we would never
set active_tasks_mask, so the thread would go to sleep even if more tasks were
to be executed.

1.9-dev only, no backport is needed.

src/task.c

index 327518896997ddc2c69c90ee9c7a7b745543faed..25ffe21db289d7670595feceacccf3bfa984bcf3 100644 (file)
@@ -367,6 +367,7 @@ void process_runnable_tasks()
                                task_queue(t);
                }
 
+               max_processed--;
                if (max_processed <= 0) {
                        active_tasks_mask |= tid_bit;
                        activity[tid].long_rq++;