mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 12:41:00 +02: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
@ -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…
x
Reference in New Issue
Block a user