From: Mathieu Desnoyers Date: Fri, 18 Apr 2014 16:01:04 +0000 (-0400) Subject: Fix: rcu_barrier(): uninitialized futex field X-Git-Tag: v0.9.0~93 X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=commitdiff_plain;h=fbc55dd1caeba6fdce2b781537b785eaf58279ed Fix: rcu_barrier(): uninitialized futex field This uninitialized futex field can lead to rcu_barrier() hang. This issue has been found with Valgrind. Fixes #787 Reported-by: Keir Fraser Signed-off-by: Mathieu Desnoyers --- diff --git a/urcu-call-rcu-impl.h b/urcu-call-rcu-impl.h index c2e175b..f0751f5 100644 --- a/urcu-call-rcu-impl.h +++ b/urcu-call-rcu-impl.h @@ -814,6 +814,7 @@ void rcu_barrier(void) count++; completion.barrier_count = count; + completion.futex = 0; cds_list_for_each_entry(crdp, &call_rcu_data_list, list) { struct call_rcu_completion_work *work;