X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Furcu-bp.c;h=35ac9dbed12b01e19166e93e5f176a9c2dc490da;hb=457eeeee4e2694bdd284a186405088f5ccdc6fa9;hp=671becb0e14644c6eeb37270ab154f1b95877549;hpb=232cf6ac1955d43d6feb5d571a64bf04dd380dd2;p=urcu.git diff --git a/src/urcu-bp.c b/src/urcu-bp.c index 671becb..35ac9db 100644 --- a/src/urcu-bp.c +++ b/src/urcu-bp.c @@ -121,6 +121,7 @@ static void __attribute__((constructor)) _urcu_bp_init(void); static void __attribute__((destructor)) urcu_bp_exit(void); +static void urcu_call_rcu_exit(void); #ifndef CONFIG_RCU_FORCE_SYS_MEMBARRIER int urcu_bp_has_sys_membarrier; @@ -662,6 +663,8 @@ void _urcu_bp_init(void) static void urcu_bp_exit(void) { + urcu_call_rcu_exit(); + mutex_lock(&init_lock); if (!--urcu_bp_refcount) { struct registry_chunk *chunk, *tmp;