Fix: handle sys_futex() FUTEX_WAIT interrupted by signal
[urcu.git] / urcu / wfqueue.h
index 03a73f19fa567dfae0c8f5aba97cec9b4212f414..4cd4b135860c2c59ac5c88bfe9298eaff3a1adfe 100644 (file)
 extern "C" {
 #endif
 
+#ifndef CDS_WFQ_DEPRECATED
+#define CDS_WFQ_DEPRECATED     \
+       CDS_DEPRECATED("urcu/wfqueue.h is deprecated. Please use urcu/wfcqueue.h instead.")
+#endif
+
 /*
  * Queue with wait-free enqueue/blocking dequeue.
  * This implementation adds a dummy head node when the queue is empty to ensure
@@ -54,20 +59,53 @@ struct cds_wfq_queue {
 
 #include <urcu/static/wfqueue.h>
 
-#define cds_wfq_node_init              _cds_wfq_node_init
-#define cds_wfq_init           _cds_wfq_init
-#define cds_wfq_enqueue                _cds_wfq_enqueue
-#define __cds_wfq_dequeue_blocking     ___cds_wfq_dequeue_blocking
-#define cds_wfq_dequeue_blocking       _cds_wfq_dequeue_blocking
+static inline CDS_WFQ_DEPRECATED
+void cds_wfq_node_init(struct cds_wfq_node *node)
+{
+       _cds_wfq_node_init(node);
+}
+
+static inline CDS_WFQ_DEPRECATED
+void cds_wfq_init(struct cds_wfq_queue *q)
+{
+       _cds_wfq_init(q);
+}
+
+static inline CDS_WFQ_DEPRECATED
+void cds_wfq_enqueue(struct cds_wfq_queue *q, struct cds_wfq_node *node)
+{
+       _cds_wfq_enqueue(q, node);
+}
+
+static inline CDS_WFQ_DEPRECATED
+struct cds_wfq_node *__cds_wfq_dequeue_blocking(struct cds_wfq_queue *q)
+{
+       return ___cds_wfq_dequeue_blocking(q);
+}
+
+static inline CDS_WFQ_DEPRECATED
+struct cds_wfq_node *cds_wfq_dequeue_blocking(struct cds_wfq_queue *q)
+{
+       return _cds_wfq_dequeue_blocking(q);
+}
 
 #else /* !_LGPL_SOURCE */
 
-extern void cds_wfq_node_init(struct cds_wfq_node *node);
-extern void cds_wfq_init(struct cds_wfq_queue *q);
-extern void cds_wfq_enqueue(struct cds_wfq_queue *q, struct cds_wfq_node *node);
+extern CDS_WFQ_DEPRECATED
+void cds_wfq_node_init(struct cds_wfq_node *node);
+
+extern CDS_WFQ_DEPRECATED
+void cds_wfq_init(struct cds_wfq_queue *q);
+
+extern CDS_WFQ_DEPRECATED
+void cds_wfq_enqueue(struct cds_wfq_queue *q, struct cds_wfq_node *node);
+
 /* __cds_wfq_dequeue_blocking: caller ensures mutual exclusion between dequeues */
-extern struct cds_wfq_node *__cds_wfq_dequeue_blocking(struct cds_wfq_queue *q);
-extern struct cds_wfq_node *cds_wfq_dequeue_blocking(struct cds_wfq_queue *q);
+extern CDS_WFQ_DEPRECATED
+struct cds_wfq_node *__cds_wfq_dequeue_blocking(struct cds_wfq_queue *q);
+
+extern CDS_WFQ_DEPRECATED
+struct cds_wfq_node *cds_wfq_dequeue_blocking(struct cds_wfq_queue *q);
 
 #endif /* !_LGPL_SOURCE */
 
This page took 0.02368 seconds and 4 git commands to generate.