Fix: call_rcu: teardown default call_rcu worker on application exit
[userspace-rcu.git] / src / urcu-bp.c
index a097d7f00312a1372123f5c61a732f0e8270354d..f886ec40763120847d54aef7a5d61a7a18b807d8 100644 (file)
@@ -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"
This page took 0.023628 seconds and 4 git commands to generate.