tree e731ab6e5878eefef84bfa197baef530845f54eb
parent 29ffe267337b2a1818a714decd9da800c12823dc
author Willy Tarreau <w@1wt.eu> 1655300640 +0200
committer Willy Tarreau <w@1wt.eu> 1656695714 +0200
encoding latin1

MAJOR: task: replace t->thread_mask with 1<<t->tid when thread mask is needed

At a few places where the task's thread mask. Now we know that it's always
either one bit or all bits of all_threads_mask, so we can replace it with
either 1<<tid or all_threads_mask depending on what's expected.

It's worth noting that the global_tasks_mask is still set this way and
that it's reaching its limits. Similarly, the task_new() API would deserve
an update to stop using a thread mask and use a thread number instead.
Similarly, task_set_affinity() should be updated to directly take a
thread number.

At this point the task's thread mask is not used anymore.
