urcu-memb,mb,signal: Implement grace period polling
[urcu.git] / include / urcu / flavor.h
index 93da38f7d449c42107ef65a09a6c909f6e75926f..20d32b65297922f9b3e52d164cbcff4dabdefff9 100644 (file)
@@ -23,6 +23,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include <urcu/urcu-poll.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -58,6 +60,9 @@ struct rcu_flavor_struct {
 
        void (*register_rculfhash_atfork)(struct urcu_atfork *atfork);
        void (*unregister_rculfhash_atfork)(struct urcu_atfork *atfork);
+
+       struct urcu_gp_poll_state (*update_start_poll_synchronize_rcu)(void);
+       bool (*update_poll_state_synchronize_rcu)(struct urcu_gp_poll_state state);
 };
 
 #define DEFINE_RCU_FLAVOR(x)                           \
@@ -76,17 +81,10 @@ const struct rcu_flavor_struct x = {                        \
        .barrier                = rcu_barrier,          \
        .register_rculfhash_atfork = urcu_register_rculfhash_atfork,    \
        .unregister_rculfhash_atfork = urcu_unregister_rculfhash_atfork,\
+       .update_start_poll_synchronize_rcu = start_poll_synchronize_rcu,\
+       .update_poll_state_synchronize_rcu = poll_state_synchronize_rcu,\
 }
 
-#define DEFINE_RCU_FLAVOR_ALIAS(x, y) _DEFINE_RCU_FLAVOR_ALIAS(x, y)
-#ifdef __APPLE__
-#define _DEFINE_RCU_FLAVOR_ALIAS(x, y)
-#else
-#define _DEFINE_RCU_FLAVOR_ALIAS(x, y)                 \
-__attribute__((alias(#x)))                             \
-extern const struct rcu_flavor_struct y;
-#endif
-
 extern const struct rcu_flavor_struct rcu_flavor;
 
 #ifdef __cplusplus
This page took 0.023447 seconds and 4 git commands to generate.