diff --git a/src/task.c b/src/task.c index e357bc169..ce5b4f907 100644 --- a/src/task.c +++ b/src/task.c @@ -395,8 +395,7 @@ void process_runnable_tasks() state = HA_ATOMIC_AND(&t->state, ~TASK_RUNNING); if (state) #ifdef USE_THREAD - __task_wakeup(t, (t->thread_mask == tid_bit || - global.nbthread == 1) ? + __task_wakeup(t, ((t->thread_mask & all_threads_mask) == tid_bit) ? &rqueue_local[tid] : &rqueue); #else __task_wakeup(t, &rqueue_local[tid]);