Commit | Line | Data |
---|---|---|
acdb82a2 MJ |
1 | // SPDX-FileCopyrightText: 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com> |
2 | // | |
3 | // SPDX-License-Identifier: LGPL-2.1-or-later | |
4 | ||
4d001e96 | 5 | /* |
4d001e96 | 6 | * Userspace RCU library - Queue with Wait-Free Enqueue/Blocking Dequeue |
4d001e96 MD |
7 | */ |
8 | ||
14748510 MD |
9 | /* Remove deprecation warnings from LGPL wrapper build. */ |
10 | #define CDS_WFQ_DEPRECATED | |
11 | ||
4d001e96 MD |
12 | /* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */ |
13 | #include "urcu/wfqueue.h" | |
af7c2dbe | 14 | #include "urcu/static/wfqueue.h" |
4d001e96 MD |
15 | |
16 | /* | |
17 | * library wrappers to be used by non-LGPL compatible source code. | |
18 | */ | |
19 | ||
16aa9ee8 | 20 | void cds_wfq_node_init(struct cds_wfq_node *node) |
4d001e96 | 21 | { |
16aa9ee8 | 22 | _cds_wfq_node_init(node); |
4d001e96 MD |
23 | } |
24 | ||
16aa9ee8 | 25 | void cds_wfq_init(struct cds_wfq_queue *q) |
4d001e96 | 26 | { |
16aa9ee8 | 27 | _cds_wfq_init(q); |
4d001e96 MD |
28 | } |
29 | ||
200d100e MD |
30 | void cds_wfq_destroy(struct cds_wfq_queue *q) |
31 | { | |
32 | _cds_wfq_destroy(q); | |
33 | } | |
34 | ||
16aa9ee8 | 35 | void cds_wfq_enqueue(struct cds_wfq_queue *q, struct cds_wfq_node *node) |
4d001e96 | 36 | { |
16aa9ee8 | 37 | _cds_wfq_enqueue(q, node); |
4d001e96 MD |
38 | } |
39 | ||
16aa9ee8 | 40 | struct cds_wfq_node *__cds_wfq_dequeue_blocking(struct cds_wfq_queue *q) |
b0dd35e2 | 41 | { |
16aa9ee8 | 42 | return ___cds_wfq_dequeue_blocking(q); |
b0dd35e2 MD |
43 | } |
44 | ||
16aa9ee8 | 45 | struct cds_wfq_node *cds_wfq_dequeue_blocking(struct cds_wfq_queue *q) |
4d001e96 | 46 | { |
16aa9ee8 | 47 | return _cds_wfq_dequeue_blocking(q); |
4d001e96 | 48 | } |