#include <stdlib.h>
#include <pthread.h>
+#include <stdbool.h>
/*
- * 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>
+#include <urcu/urcu-poll.h>
#ifdef __cplusplus
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_mb_read_lock(void);
extern void urcu_mb_synchronize_rcu(void);
+/*
+ * RCU grace period polling API.
+ */
+extern struct urcu_gp_poll_state urcu_mb_start_poll_synchronize_rcu(void);
+extern bool urcu_mb_poll_state_synchronize_rcu(struct urcu_gp_poll_state state);
+
/*
* Reader thread registration.
*/
}
#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>