X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Furcu%2Fflavor.h;h=20d32b65297922f9b3e52d164cbcff4dabdefff9;hb=111bda8f5fa6ff4d5d50605ccbe56d9622498ef4;hp=93da38f7d449c42107ef65a09a6c909f6e75926f;hpb=ce28e67a534dcf0b68ccad2218e5a2e552e6e469;p=urcu.git diff --git a/include/urcu/flavor.h b/include/urcu/flavor.h index 93da38f..20d32b6 100644 --- a/include/urcu/flavor.h +++ b/include/urcu/flavor.h @@ -23,6 +23,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #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