mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-04 02:19:09 +00:00
MEDIUM: tasks: Use __ha_barrier_store after modifying global_tasks_mask.
Now that we no longer use atomic operations to update global_tasks_mask, as it's always modified while holding the TASK_RQ_LOCK, we have to use __ha_barrier_store() instead of __ha_barrier_atomic_store() to ensure any modification of global_tasks_mask is seen before modifying active_tasks_mask. This should be backported to 1.9.
This commit is contained in:
parent
d83b6c1ab3
commit
ed1a6a0d8a
@ -78,7 +78,7 @@ void __task_wakeup(struct task *t, struct eb_root *root)
|
||||
#ifdef USE_THREAD
|
||||
if (root == &rqueue) {
|
||||
global_tasks_mask |= t->thread_mask;
|
||||
__ha_barrier_atomic_store();
|
||||
__ha_barrier_store();
|
||||
}
|
||||
#endif
|
||||
_HA_ATOMIC_OR(&active_tasks_mask, t->thread_mask);
|
||||
|
Loading…
Reference in New Issue
Block a user