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.
diff --git a/src/haproxy.c b/src/haproxy.c
index 145c19a..e8c209e 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2818,7 +2818,7 @@
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;
}