+URCU_ATTR_ALIAS(urcu_stringify(call_rcu_after_fork_child))
+void alias_call_rcu_after_fork_child();
+
+void urcu_register_rculfhash_atfork(struct urcu_atfork *atfork)
+{
+ call_rcu_lock(&call_rcu_mutex);
+ if (registered_rculfhash_atfork_refcount++)
+ goto end;
+ registered_rculfhash_atfork = atfork;
+end:
+ call_rcu_unlock(&call_rcu_mutex);
+}
+URCU_ATTR_ALIAS(urcu_stringify(urcu_register_rculfhash_atfork))
+void alias_urcu_register_rculfhash_atfork();
+
+void urcu_unregister_rculfhash_atfork(struct urcu_atfork *atfork __attribute__((unused)))
+{
+ call_rcu_lock(&call_rcu_mutex);
+ if (--registered_rculfhash_atfork_refcount)
+ goto end;
+ registered_rculfhash_atfork = NULL;
+end:
+ call_rcu_unlock(&call_rcu_mutex);
+}
+URCU_ATTR_ALIAS(urcu_stringify(urcu_unregister_rculfhash_atfork))
+void alias_urcu_unregister_rculfhash_atfork();