projects
/
userspace-rcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Rename all memory primitives with prefix cmm_
[userspace-rcu.git]
/
urcu-pointer-static.h
diff --git
a/urcu-pointer-static.h
b/urcu-pointer-static.h
index eb073afa18683c5a6d1a626397aef70a21678d2c..c8ac7f0c0861a2d80e20e935dddf99303693fa75 100644
(file)
--- a/
urcu-pointer-static.h
+++ b/
urcu-pointer-static.h
@@
-9,7
+9,7
@@
* TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-pointer.h for
* linking dynamically with the userspace rcu library.
*
* TO BE INCLUDED ONLY IN LGPL-COMPATIBLE CODE. See urcu-pointer.h for
* linking dynamically with the userspace rcu library.
*
- * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@
polymtl.ca
>
+ * Copyright (c) 2009 Mathieu Desnoyers <mathieu.desnoyers@
efficios.com
>
* Copyright (c) 2009 Paul E. McKenney, IBM Corporation.
*
* This library is free software; you can redistribute it and/or
* Copyright (c) 2009 Paul E. McKenney, IBM Corporation.
*
* This library is free software; you can redistribute it and/or
@@
-34,6
+34,10
@@
#include <urcu/system.h>
#include <urcu/uatomic_arch.h>
#include <urcu/system.h>
#include <urcu/uatomic_arch.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* _rcu_dereference - reads (copy) a RCU-protected pointer to a local variable
* into a RCU read-side critical section. The pointer can later be safely
/**
* _rcu_dereference - reads (copy) a RCU-protected pointer to a local variable
* into a RCU read-side critical section. The pointer can later be safely
@@
-59,7
+63,7
@@
#define _rcu_dereference(p) ({ \
typeof(p) _________p1 = LOAD_SHARED(p); \
#define _rcu_dereference(p) ({ \
typeof(p) _________p1 = LOAD_SHARED(p); \
-
smp_read_barrier_depends();
\
+
cmm_smp_read_barrier_depends();
\
(_________p1); \
})
(_________p1); \
})
@@
-77,7
+81,7
@@
typeof(*p) _________pnew = (_new); \
if (!__builtin_constant_p(_new) || \
((_new) != NULL)) \
typeof(*p) _________pnew = (_new); \
if (!__builtin_constant_p(_new) || \
((_new) != NULL)) \
-
wmb();
\
+
cmm_wmb();
\
uatomic_cmpxchg(p, _________pold, _________pnew); \
})
uatomic_cmpxchg(p, _________pold, _________pnew); \
})
@@
-92,7
+96,7
@@
typeof(*p) _________pv = (v); \
if (!__builtin_constant_p(v) || \
((v) != NULL)) \
typeof(*p) _________pv = (v); \
if (!__builtin_constant_p(v) || \
((v) != NULL)) \
-
wmb();
\
+
cmm_wmb();
\
uatomic_xchg(p, _________pv); \
})
uatomic_xchg(p, _________pv); \
})
@@
-102,7
+106,7
@@
typeof(*p) _________pv = (v); \
if (!__builtin_constant_p(v) || \
((v) != NULL)) \
typeof(*p) _________pv = (v); \
if (!__builtin_constant_p(v) || \
((v) != NULL)) \
-
wmb();
\
+
cmm_wmb();
\
uatomic_set(p, _________pv); \
})
uatomic_set(p, _________pv); \
})
@@
-121,4
+125,8
@@
#define _rcu_assign_pointer(p, v) _rcu_set_pointer(&(p), v)
#define _rcu_assign_pointer(p, v) _rcu_set_pointer(&(p), v)
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _URCU_POINTER_STATIC_H */
#endif /* _URCU_POINTER_STATIC_H */
This page took
0.024065 seconds
and
4
git commands to generate.