X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=urcu%2Frculfqueue.h;h=b712998c07a929cfa5d49da370bd0c676c72ecdb;hb=c91b00b73226a431d5f7d8e262950fd3e83f40f1;hp=09e5d41ea0db7b7f40032419b070ed55daecdfdd;hpb=23086b720b7edf8b402f22a899568bc6cbcb8235;p=urcu.git diff --git a/urcu/rculfqueue.h b/urcu/rculfqueue.h index 09e5d41..b712998 100644 --- a/urcu/rculfqueue.h +++ b/urcu/rculfqueue.h @@ -1,3 +1,6 @@ +#ifndef _URCU_RCULFQUEUE_H +#define _URCU_RCULFQUEUE_H + /* * rculfqueue.h * @@ -108,8 +111,9 @@ void rcu_lfq_enqueue(struct rcu_lfq_queue *q, struct rcu_lfq_node *node) * which calls the release primitive when the reference count drops to zero. A * grace period must be waited before performing the actual memory reclamation * in the release primitive. - * The entry lfq node returned by dequeue must not be re-used before the - * reference count reaches zero. + * The entry lfq node returned by dequeue must not be modified/re-used/freed + * until the reference count reaches zero and a grace period has elapsed (after + * the refcount reached 0). */ struct rcu_lfq_node * rcu_lfq_dequeue(struct rcu_lfq_queue *q, void (*release)(struct urcu_ref *)) @@ -137,3 +141,5 @@ rcu_lfq_dequeue(struct rcu_lfq_queue *q, void (*release)(struct urcu_ref *)) } } } + +#endif /* _URCU_RCULFQUEUE_H */