From: Mathieu Desnoyers Date: Wed, 28 Sep 2011 20:03:13 +0000 (-0400) Subject: Create default call rcu data upon per-cpu call-rcu teardown X-Git-Tag: v0.6.5~9 X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=commitdiff_plain;h=698d07788379df492ad55767bdb84bc24d93c20f Create default call rcu data upon per-cpu call-rcu teardown Signed-off-by: Mathieu Desnoyers --- diff --git a/urcu-call-rcu-impl.h b/urcu-call-rcu-impl.h index f9250e8..3e947af 100644 --- a/urcu-call-rcu-impl.h +++ b/urcu-call-rcu-impl.h @@ -609,6 +609,8 @@ void call_rcu_data_free(struct call_rcu_data *crdp) _CMM_STORE_SHARED(crdp->cbs.head, NULL); cbs_tail = (struct cds_wfq_node **) uatomic_xchg(&crdp->cbs.tail, &crdp->cbs.head); + /* Create default call rcu data if need be */ + (void) get_default_call_rcu_data(); cbs_endprev = (struct cds_wfq_node **) uatomic_xchg(&default_call_rcu_data, cbs_tail); *cbs_endprev = cbs;