Use workqueue in rculfhash
[urcu.git] / src / urcu-flavor.h
index 5e7f292514fd389c2982c36c9d51e45265f5fa0d..9cfbd6afa420d899cd7a921a83502f53b7fa3fc0 100644 (file)
 extern "C" {
 #endif
 
+struct urcu_atfork {
+       void (*before_fork)(void *priv);
+       void (*after_fork_parent)(void *priv);
+       void (*after_fork_child)(void *priv);
+       void *priv;
+};
+
+void urcu_register_rculfhash_atfork(struct urcu_atfork *atfork);
+void urcu_unregister_rculfhash_atfork(struct urcu_atfork *atfork);
+
 struct rcu_flavor_struct {
        void (*read_lock)(void);
        void (*read_unlock)(void);
@@ -43,6 +53,9 @@ struct rcu_flavor_struct {
        void (*unregister_thread)(void);
 
        void (*barrier)(void);
+
+       void (*register_rculfhash_atfork)(struct urcu_atfork *atfork);
+       void (*unregister_rculfhash_atfork)(struct urcu_atfork *atfork);
 };
 
 #define DEFINE_RCU_FLAVOR(x)                           \
@@ -59,6 +72,8 @@ const struct rcu_flavor_struct x = {                  \
        .register_thread        = rcu_register_thread,  \
        .unregister_thread      = rcu_unregister_thread,\
        .barrier                = rcu_barrier,          \
+       .register_rculfhash_atfork = urcu_register_rculfhash_atfork,    \
+       .unregister_rculfhash_atfork = urcu_unregister_rculfhash_atfork,\
 }
 
 extern const struct rcu_flavor_struct rcu_flavor;
This page took 0.023101 seconds and 4 git commands to generate.