Instead of checking if nbthreads == 1, just and thread_mask with
all_threads_mask to know if we're supposed to add the task to the local or
the global runqueue.
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]);