uatomic/x86: Remove redundant memory barriers
[urcu.git] / src / rculfqueue.c
CommitLineData
acdb82a2
MJ
1// SPDX-FileCopyrightText: 2010 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4
3d02c34d 5/*
3d02c34d 6 * Userspace RCU library - Lock-Free RCU Queue
3d02c34d
MD
7 */
8
3d02c34d 9/* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
ae4510b5 10#undef _LGPL_SOURCE
3d02c34d 11#include "urcu/rculfqueue.h"
ae4510b5 12#define _LGPL_SOURCE
af7c2dbe 13#include "urcu/static/rculfqueue.h"
3d02c34d
MD
14
15/*
16 * library wrappers to be used by non-LGPL compatible source code.
17 */
18
16aa9ee8 19void cds_lfq_node_init_rcu(struct cds_lfq_node_rcu *node)
3d02c34d 20{
16aa9ee8 21 _cds_lfq_node_init_rcu(node);
3d02c34d
MD
22}
23
6e5f88cf
MD
24void cds_lfq_init_rcu(struct cds_lfq_queue_rcu *q,
25 void queue_call_rcu(struct rcu_head *head,
26 void (*func)(struct rcu_head *head)))
3d02c34d 27{
6e5f88cf 28 _cds_lfq_init_rcu(q, queue_call_rcu);
e17d9985
MD
29}
30
31int cds_lfq_destroy_rcu(struct cds_lfq_queue_rcu *q)
32{
33 return _cds_lfq_destroy_rcu(q);
3d02c34d
MD
34}
35
16aa9ee8 36void cds_lfq_enqueue_rcu(struct cds_lfq_queue_rcu *q, struct cds_lfq_node_rcu *node)
3d02c34d 37{
16aa9ee8 38 _cds_lfq_enqueue_rcu(q, node);
3d02c34d
MD
39}
40
16aa9ee8 41struct cds_lfq_node_rcu *
d9b52143 42cds_lfq_dequeue_rcu(struct cds_lfq_queue_rcu *q)
3d02c34d 43{
d9b52143 44 return _cds_lfq_dequeue_rcu(q);
3d02c34d 45}
This page took 0.043453 seconds and 4 git commands to generate.