projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
urcu-static.h: use SYS_membarrier rather than __NR_membarrier
[urcu.git]
/
urcu-pointer.c
diff --git
a/urcu-pointer.c
b/urcu-pointer.c
index 79ee72a08e7110ba67a44b80f834096543eaa379..1c5f6bdaa1aa1d17fdee34eac7bf6a98c0a82a36 100644
(file)
--- a/
urcu-pointer.c
+++ b/
urcu-pointer.c
@@
-24,6
+24,8
@@
* IBM's contributions to this file may be relicensed under LGPLv2 or later.
*/
* IBM's contributions to this file may be relicensed under LGPLv2 or later.
*/
+#include <urcu/uatomic_arch.h>
+
#include "urcu-pointer-static.h"
/* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
#include "urcu-pointer.h"
#include "urcu-pointer-static.h"
/* Do not #define _LGPL_SOURCE to ensure we can emit the wrapper symbols */
#include "urcu-pointer.h"
@@
-38,7
+40,7
@@
void *rcu_dereference_sym(void *p)
void *rcu_set_pointer_sym(void **p, void *v)
{
wmb();
void *rcu_set_pointer_sym(void **p, void *v)
{
wmb();
- return
STORE_SHARED(*
p, v);
+ return
uatomic_set(
p, v);
}
void *rcu_xchg_pointer_sym(void **p, void *v)
}
void *rcu_xchg_pointer_sym(void **p, void *v)
@@
-50,9
+52,5
@@
void *rcu_xchg_pointer_sym(void **p, void *v)
void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new)
{
wmb();
void *rcu_cmpxchg_pointer_sym(void **p, void *old, void *_new)
{
wmb();
- if (likely(URCU_CAS_AVAIL()))
- return uatomic_cmpxchg(p, old, _new);
-
- /* Compatibility for i386. Old-timer. */
- return compat_uatomic_cmpxchg(p, old, _new);
+ return uatomic_cmpxchg(p, old, _new);
}
}
This page took
0.023102 seconds
and
4
git commands to generate.