#include <stdlib.h>
#include <pthread.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Note: the defer_rcu() API is currently EXPERIMENTAL. It may change in the
* future.
extern void defer_rcu(void (*fct)(void *p), void *p);
+/*
+ * call_rcu will eventually be implemented with an API similar to the Linux
+ * kernel call_rcu(), which will allow its use within RCU read-side C.S.
+ * Generate an error if used for now.
+ */
+
+#define call_rcu __error_call_rcu_not_implemented_please_use_defer_rcu
+
/*
* Thread registration for reclamation.
*/
extern void rcu_defer_barrier(void);
extern void rcu_defer_barrier_thread(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _URCU_BATCH_H */