mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-10 19:21:37 +00:00
BUG/MEDIUM: threads: fix the no-thread case after the change to the sync point
In commit 0c026f4
("MINOR: threads: add more consistency between certain
variables in no-thread case"), we ensured that we don't have all_threads_mask
zeroed anymore. But one test was missed for the write() to the sync pipe.
This results in a situation where when running single-threaded, once a
server status changes, a wake-up message is written to the pipe and never
consumed, showing a 100% CPU usage.
No backport is needed.
This commit is contained in:
parent
ad4e1a4735
commit
ab657ce251
@ -70,7 +70,7 @@ void thread_sync_enable(void)
|
|||||||
*/
|
*/
|
||||||
void thread_want_sync()
|
void thread_want_sync()
|
||||||
{
|
{
|
||||||
if (all_threads_mask) {
|
if (all_threads_mask & (all_threads_mask - 1)) {
|
||||||
if (threads_want_sync & tid_bit)
|
if (threads_want_sync & tid_bit)
|
||||||
return;
|
return;
|
||||||
if (HA_ATOMIC_OR(&threads_want_sync, tid_bit) == tid_bit)
|
if (HA_ATOMIC_OR(&threads_want_sync, tid_bit) == tid_bit)
|
||||||
|
Loading…
Reference in New Issue
Block a user