diff --git a/src/haproxy.c b/src/haproxy.c index f86e3b573..85467a58f 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2988,6 +2988,8 @@ static void *run_thread_poll_loop(void *data) #ifdef USE_THREAD if (!_HA_ATOMIC_AND_FETCH(&ha_tgroup_info[ti->tgid-1].threads_enabled, ~ti->ltid_bit)) _HA_ATOMIC_AND(&all_tgroups_mask, ~tg->tgid_bit); + if (!_HA_ATOMIC_AND_FETCH(&tg_ctx->stopping_threads, ~ti->ltid_bit)) + _HA_ATOMIC_AND(&stopping_tgroup_mask, ~tg->tgid_bit); _HA_ATOMIC_AND(&all_threads_mask, ~tid_bit); if (tid > 0) pthread_exit(NULL);