Fix: urcu-signal: smp_mb_master() needs registry lock
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 30 Oct 2015 21:11:55 +0000 (17:11 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 30 Oct 2015 21:12:28 +0000 (17:12 -0400)
commitfca9fb961ecf6726769035fd41bc8a9a054aafb7
treee888c18ec9773c166374114db3a36f6597bd89eb
parent95747f9e8c005c716d6e7f216e8fd9b66871dbff
Fix: urcu-signal: smp_mb_master() needs registry lock

The signal-based urcu flavor calls smp_mb_master() within the wait_gp()
function. Since commit "Fix: deadlock when thread join is issued in
read-side C.S.", wait_gp() is called without the registry lock held.

Ensure that the registry lock is only released around the wait per se,
not around the call to smp_mb_master(), otherwise we end up iterating on
a non-consistent thread registry in smp_mb_master().

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
urcu.c
This page took 0.026162 seconds and 4 git commands to generate.