X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=include%2Furcu%2Fflavor.h;h=20d32b65297922f9b3e52d164cbcff4dabdefff9;hb=111bda8f5fa6ff4d5d50605ccbe56d9622498ef4;hp=411fefbe3173c67615f046e6b61bbd15cb3e7178;hpb=4477a87021ffbfbfdb2a2084d05a084171343d36;p=userspace-rcu.git diff --git a/include/urcu/flavor.h b/include/urcu/flavor.h index 411fefb..20d32b6 100644 --- a/include/urcu/flavor.h +++ b/include/urcu/flavor.h @@ -23,10 +23,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #ifdef __cplusplus extern "C" { #endif +struct rcu_head; + struct urcu_atfork { void (*before_fork)(void *priv); void (*after_fork_parent)(void *priv); @@ -56,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) \ @@ -74,13 +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) -#define _DEFINE_RCU_FLAVOR_ALIAS(x, y) \ -__attribute__((alias(#x))) \ -extern const struct rcu_flavor_struct y; - extern const struct rcu_flavor_struct rcu_flavor; #ifdef __cplusplus