mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-19 01:54:37 +00:00
CLEANUP: thread: also remove a thread's bit from stopping_threads on stop
As much as possible we should take care of not leaving bits from stopped threads in shared thread masks. It can avoid issues like the previous fix and will also make debugging less confusing.
This commit is contained in:
parent
f34a3fa33d
commit
ad92fdf196
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user