+#ifndef _URCU_RCULFQUEUE_H
+#define _URCU_RCULFQUEUE_H
+
/*
* rculfqueue.h
*
#include <urcu/urcu_ref.h>
#include <assert.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#if (!defined(_GNU_SOURCE) && !defined(_LGPL_SOURCE))
#error "Dynamic loader LGPL wrappers not implemented yet"
#endif
* 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 *))
}
}
}
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _URCU_RCULFQUEUE_H */