X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu-call-rcu.h;h=339ebacc3f7c013975d62370ca27aa47b282e724;hp=f7eac8de964d56d717cfc5b48432f57c16fc32f9;hb=84f4ccb4bcf32c0336a0c7a3a4ba76d90d6dea1b;hpb=37a9ce52a8fd0c9d1c6843ab12143db927209387 diff --git a/urcu-call-rcu.h b/urcu-call-rcu.h index f7eac8d..339ebac 100644 --- a/urcu-call-rcu.h +++ b/urcu-call-rcu.h @@ -32,7 +32,7 @@ #include #include -#include +#include #ifdef __cplusplus extern "C" { @@ -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 @@ -55,14 +57,14 @@ struct call_rcu_data; */ struct rcu_head { - struct cds_wfq_node next; + struct cds_wfcq_node next; void (*func)(struct rcu_head *head); }; /* * Exported functions * - * Important: see rcu-api.txt in userspace-rcu documentation for + * Important: see rcu-api.md in userspace-rcu documentation for * call_rcu family of functions usage detail, including the surrounding * RCU usage required when using these primitives. */ @@ -90,7 +92,9 @@ void call_rcu_before_fork(void); void call_rcu_after_fork_parent(void); void call_rcu_after_fork_child(void); -#ifdef __cplusplus +void rcu_barrier(void); + +#ifdef __cplusplus } #endif