From: Lai Jiangshan Date: Thu, 29 Sep 2011 17:04:12 +0000 (-0400) Subject: urcu,call_rcu: protects call_rcu_data_list when remove node X-Git-Tag: v0.6.5~8 X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=commitdiff_plain;h=b75dffe654debbf8fd5a62d94cfeea15df6223e7 urcu,call_rcu: protects call_rcu_data_list when remove node Signed-off-by: Lai Jiangshan Signed-off-by: Mathieu Desnoyers --- diff --git a/urcu-call-rcu-impl.h b/urcu-call-rcu-impl.h index 3e947af..d5b75c0 100644 --- a/urcu-call-rcu-impl.h +++ b/urcu-call-rcu-impl.h @@ -619,7 +619,10 @@ void call_rcu_data_free(struct call_rcu_data *crdp) wake_call_rcu_thread(default_call_rcu_data); } + call_rcu_lock(&call_rcu_mutex); cds_list_del(&crdp->list); + call_rcu_unlock(&call_rcu_mutex); + free(crdp); }