* Slower RCU read-side adapted for tracing library. Does not require thread
* registration nor unregistration. Also signal-safe.
*
- * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
+ * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
* Copyright (c) 2009 Paul E. McKenney, IBM Corporation.
*
* LGPL-compatible code should include this header with :
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.
*/
{
}
-static inline void urcu_init(void)
+static inline void rcu_init(void)
{
}
}
#endif
+#include "urcu-call-rcu.h"
+#include "urcu-defer.h"
+
#endif /* _URCU_BP_H */