X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Furcu-bp.c;h=f886ec40763120847d54aef7a5d61a7a18b807d8;hb=90f72b8c054ca4e3b4b45f630549c784e26ce79a;hp=a097d7f00312a1372123f5c61a732f0e8270354d;hpb=014775106c60f02818ca755b331f887030bd440f;p=userspace-rcu.git diff --git a/src/urcu-bp.c b/src/urcu-bp.c index a097d7f..f886ec4 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; @@ -655,6 +656,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; @@ -769,3 +772,4 @@ DEFINE_RCU_FLAVOR(rcu_flavor); #include "urcu-call-rcu-impl.h" #include "urcu-defer-impl.h" +#include "urcu-poll-impl.h"