X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=urcu-call-rcu.h;h=e71c69cbe62cc6328a7924f02f85bca3e9f758b3;hb=2819ef641bb6e2f7aa60c28f3a8f5ad252aa7d00;hp=8df44ef3adfc35bc4f2da2379c0241fc4db05aae;hpb=f96d597f3a04010d432c36b9bb07e910720000ab;p=userspace-rcu.git diff --git a/urcu-call-rcu.h b/urcu-call-rcu.h index 8df44ef..e71c69c 100644 --- a/urcu-call-rcu.h +++ b/urcu-call-rcu.h @@ -44,10 +44,12 @@ struct call_rcu_data; /* Flag values. */ -#define URCU_CALL_RCU_RT 0x1 -#define URCU_CALL_RCU_RUNNING 0x2 -#define URCU_CALL_RCU_STOP 0x4 -#define URCU_CALL_RCU_STOPPED 0x8 +#define URCU_CALL_RCU_RT (1U << 0) +#define URCU_CALL_RCU_RUNNING (1U << 1) +#define URCU_CALL_RCU_STOP (1U << 2) +#define URCU_CALL_RCU_STOPPED (1U << 3) +#define URCU_CALL_RCU_PAUSE (1U << 4) +#define URCU_CALL_RCU_PAUSED (1U << 5) /* * The rcu_head data structure is placed in the structure to be freed @@ -62,9 +64,9 @@ struct rcu_head { /* * Exported functions * - * Important: see userspace RCU API.txt for call_rcu family of functions - * usage detail, including the surrounding RCU usage required when using - * these primitives. + * Important: see rcu-api.txt in userspace-rcu documentation for + * call_rcu family of functions usage detail, including the surrounding + * RCU usage required when using these primitives. */ void call_rcu(struct rcu_head *head, @@ -86,6 +88,8 @@ int set_cpu_call_rcu_data(int cpu, struct call_rcu_data *crdp); int create_all_cpu_call_rcu_data(unsigned long flags); void free_all_cpu_call_rcu_data(void); +void call_rcu_before_fork(void); +void call_rcu_after_fork_parent(void); void call_rcu_after_fork_child(void); #ifdef __cplusplus