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:27:00 +0000 (17:27 -0400)
commita554a662cc27aa360e514479693f41a3b69bbffa
tree58efd30aade0515dcdca9abeed0b28be416a553e
parent323c5cb4fa1c8b5fa964b75569c68f30a313d457
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.028592 seconds and 4 git commands to generate.