urcu,call_rcu: protects call_rcu_data_list when remove node
authorLai Jiangshan <laijs@cn.fujitsu.com>
Thu, 29 Sep 2011 17:04:12 +0000 (13:04 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 29 Sep 2011 17:04:12 +0000 (13:04 -0400)
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
urcu-call-rcu-impl.h

index 3e947af2fd84bfd6c6843788d9f31a5ff720b876..d5b75c076de22de777244cc26fb86f0791f898a5 100644 (file)
@@ -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);
 }
 
This page took 0.025381 seconds and 4 git commands to generate.