BUG/MEDIUM: thread: check stopping thread against local bit and not global one

Commit ef422ced9 ("MEDIUM: thread: make stopping_threads per-group and add
stopping_tgroups") moved the stopping_threads mask to per-group, but one
test in the loop preserved its global value instead, resulting in stopping
threads never sleeping on stop and eating 100% CPU until all were stopped.

No backport is needed.
This commit is contained in:
Willy Tarreau 2022-07-04 14:07:29 +02:00
parent 291f6ff885
commit 24cfc9f76e

View File

@ -2818,7 +2818,7 @@ void run_poll_loop()
if (stopping) {
/* stop muxes before acknowledging stopping */
if (!(tg_ctx->stopping_threads & tid_bit)) {
if (!(tg_ctx->stopping_threads & ti->ltid_bit)) {
task_wakeup(mux_stopping_data[tid].task, TASK_WOKEN_OTHER);
wake = 1;
}