mirror of
https://github.com/haproxy/haproxy.git
synced 2026-04-23 07:08:06 -04:00
MINOR: threads: avoid clearing harmless twice in thread_release()
thread_release() is to be called after thread_isolate(), i.e. when the thread already has its harmless bit cleared. No need to clear it twice, thus avoid calling thread_harmless_end() and directly check the rdv bits then loop on them.
This commit is contained in:
parent
19a2e2d91e
commit
31cba0d3e0
1 changed files with 6 additions and 1 deletions
|
|
@ -94,7 +94,12 @@ void thread_isolate()
|
|||
void thread_release()
|
||||
{
|
||||
_HA_ATOMIC_AND(&threads_want_rdv_mask, ~tid_bit);
|
||||
thread_harmless_end();
|
||||
while (threads_want_rdv_mask & all_threads_mask) {
|
||||
_HA_ATOMIC_OR(&threads_harmless_mask, tid_bit);
|
||||
while (threads_want_rdv_mask & all_threads_mask)
|
||||
ha_thread_relax();
|
||||
HA_ATOMIC_AND(&threads_harmless_mask, ~tid_bit);
|
||||
}
|
||||
}
|
||||
|
||||
/* send signal <sig> to thread <thr> */
|
||||
|
|
|
|||
Loading…
Reference in a new issue