urcu-bp: perform thread registration on urcu_bp_register_thread
[urcu.git] / include / urcu / urcu-bp.h
index 7b00aaa8d555130f2b2dcf733344571931624c24..2ea17e6397391fae5e081118215ac717efbc0ae0 100644 (file)
@@ -52,10 +52,10 @@ extern "C" {
  */
 
 /*
- * See urcu-pointer.h and urcu/static/urcu-pointer.h for pointer
+ * See urcu/pointer.h and urcu/static/pointer.h for pointer
  * publication headers.
  */
-#include <urcu-pointer.h>
+#include <urcu/pointer.h>
 
 #ifdef _LGPL_SOURCE
 
@@ -85,7 +85,7 @@ extern "C" {
 
 /*
  * library wrappers to be used by non-LGPL compatible source code.
- * See LGPL-only urcu/static/urcu-pointer.h for documentation.
+ * See LGPL-only urcu/static/pointer.h for documentation.
  */
 
 extern void urcu_bp_read_lock(void);
@@ -151,12 +151,14 @@ extern void urcu_bp_after_fork_parent(void);
 extern void urcu_bp_after_fork_child(void);
 
 /*
- * In the bulletproof version, the following functions are no-ops.
+ * In the bulletproof version, thread registration is performed lazily,
+ * but it can be forced by issuing an explicit urcu_bp_register_thread().
  */
-static inline void urcu_bp_register_thread(void)
-{
-}
+extern void urcu_bp_register_thread(void);
 
+/*
+ * In the bulletproof version, the following functions are no-ops.
+ */
 static inline void urcu_bp_unregister_thread(void)
 {
 }
@@ -184,9 +186,9 @@ static inline void urcu_bp_thread_online(void)
 }
 #endif
 
-#include <urcu-call-rcu.h>
-#include <urcu-defer.h>
-#include <urcu-flavor.h>
+#include <urcu/call-rcu.h>
+#include <urcu/defer.h>
+#include <urcu/flavor.h>
 
 #ifndef URCU_API_MAP
 #include <urcu/map/clear.h>
This page took 0.023487 seconds and 4 git commands to generate.