ifdef C, wait-free stack adaptative pop wait
[urcu.git] / urcu / rculfqueue.h
index 808a16b8f18f0fd63c016169f2fb643ab83ed9fa..01c2092610350155247b87cadd6149aa3b26b4b1 100644 (file)
 #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
@@ -111,8 +115,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 *))
@@ -141,4 +146,8 @@ rcu_lfq_dequeue(struct rcu_lfq_queue *q, void (*release)(struct urcu_ref *))
        }
 }
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _URCU_RCULFQUEUE_H */
This page took 0.023101 seconds and 4 git commands to generate.