a42fe87be47c0feea1549ccc91ba9db685342538
1 // SPDX-FileCopyrightText: 2009 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
2 // SPDX-FileCopyrightText: 2009 Paul E. McKenney, IBM Corporation.
4 // SPDX-License-Identifier: LGPL-2.1-or-later
7 * library wrappers to be used by non-LGPL compatible source code.
9 * IBM's contributions to this file may be relicensed under LGPLv2 or later.
12 #include <urcu/uatomic.h>
14 #include <urcu/static/pointer.h>
15 /* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
16 #include <urcu/pointer.h>
18 extern void synchronize_rcu(void);
20 void *rcu_dereference_sym(void *p
)
22 return _rcu_dereference(p
);
25 void *rcu_set_pointer_sym(void **p
, void *v
)
27 uatomic_store(p
, v
, CMM_RELEASE
);
31 void *rcu_xchg_pointer_sym(void **p
, void *v
)
33 return uatomic_xchg_mo(p
, v
, CMM_SEQ_CST
);
36 void *rcu_cmpxchg_pointer_sym(void **p
, void *old
, void *_new
)
38 return uatomic_cmpxchg_mo(p
, old
, _new
, CMM_SEQ_CST
, CMM_RELAXED
);
This page took 0.071164 seconds and 4 git commands to generate.