extern "C" {
#endif
+#include "urcu-bp-map.h"
+
/*
* Important !
*
*
* Mark the beginning and end of a read-side critical section.
*/
-#define rcu_read_lock() _rcu_read_lock()
-#define rcu_read_unlock() _rcu_read_unlock()
+#define rcu_read_lock_bp _rcu_read_lock
+#define rcu_read_unlock_bp _rcu_read_unlock
#else /* !_LGPL_SOURCE */
extern void synchronize_rcu(void);
+/*
+ * rcu_bp_before_fork, rcu_bp_after_fork_parent and rcu_bp_after_fork_child
+ * should be called around fork() system calls when the child process is not
+ * expected to immediately perform an exec(). For pthread users, see
+ * pthread_atfork(3).
+ */
+extern void rcu_bp_before_fork(void);
+extern void rcu_bp_after_fork_parent(void);
+extern void rcu_bp_after_fork_child(void);
+
/*
* In the bulletproof version, the following functions are no-ops.
*/
}
#endif
+#include "urcu-call-rcu.h"
+#include "urcu-defer.h"
+
#endif /* _URCU_BP_H */