urcu qsbr: add DEBUG_RCU self check
[urcu.git] / urcu-qsbr.c
index 6ba03642f852763057781dcf14bf2ff4a01dc5b9..0576f4142754e14840b839be35c71e72b200938a 100644 (file)
@@ -254,10 +254,16 @@ void rcu_register_thread(void)
        internal_urcu_lock();
        rcu_add_reader(pthread_self());
        internal_urcu_unlock();
+       _rcu_thread_online();
 }
 
 void rcu_unregister_thread(void)
 {
+       /*
+        * We have to make the thread offline otherwise we end up dealocking
+        * with a waiting writer.
+        */
+       _rcu_thread_offline();
        internal_urcu_lock();
        rcu_remove_reader(pthread_self());
        internal_urcu_unlock();
This page took 0.022125 seconds and 4 git commands to generate.