projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RCU lf queue: Add assert for memory allocation
[urcu.git]
/
urcu
/
static
/
urcu.h
diff --git
a/urcu/static/urcu.h
b/urcu/static/urcu.h
index 289827248c8405aa41918b6b7619dc80f0bd7489..0295a3e5183cc57315e8488a03a70d0023286d51 100644
(file)
--- a/
urcu/static/urcu.h
+++ b/
urcu/static/urcu.h
@@
-31,15
+31,15
@@
#include <stdlib.h>
#include <pthread.h>
#include <stdlib.h>
#include <pthread.h>
-#include <syscall.h>
#include <unistd.h>
#include <unistd.h>
+#include <stdint.h>
#include <urcu/compiler.h>
#include <urcu/arch.h>
#include <urcu/system.h>
#include <urcu/uatomic.h>
#include <urcu/list.h>
#include <urcu/compiler.h>
#include <urcu/arch.h>
#include <urcu/system.h>
#include <urcu/uatomic.h>
#include <urcu/list.h>
-#include <urcu/
urcu-
futex.h>
+#include <urcu/futex.h>
#ifdef __cplusplus
extern "C" {
#ifdef __cplusplus
extern "C" {
@@
-50,9
+50,17
@@
extern "C" {
#define RCU_MEMBARRIER
#endif
#define RCU_MEMBARRIER
#endif
+/*
+ * RCU_MEMBARRIER is only possibly available on Linux. Fallback to RCU_MB
+ * otherwise.
+ */
+#if !defined(__linux__) && defined(RCU_MEMBARRIER)
+#undef RCU_MEMBARRIER
+#define RCU_MB
+#endif
+
#ifdef RCU_MEMBARRIER
#ifdef RCU_MEMBARRIER
-#include <unistd.h>
-#include <sys/syscall.h>
+#include <syscall.h>
/* If the headers do not support SYS_membarrier, statically use RCU_MB */
#ifdef SYS_membarrier
/* If the headers do not support SYS_membarrier, statically use RCU_MB */
#ifdef SYS_membarrier
@@
-143,7
+151,7
@@
static inline void debug_yield_write(void)
static inline void debug_yield_init(void)
{
static inline void debug_yield_init(void)
{
- rand_yield = time(NULL) ^ pthread_self();
+ rand_yield = time(NULL) ^
(unsigned long)
pthread_self();
}
#else
static inline void debug_yield_read(void)
}
#else
static inline void debug_yield_read(void)
@@
-228,7
+236,7
@@
struct rcu_reader {
extern struct rcu_reader __thread rcu_reader;
extern struct rcu_reader __thread rcu_reader;
-extern int gp_futex;
+extern int
32_t
gp_futex;
/*
* Wake-up waiting synchronize_rcu(). Called from many concurrent threads.
/*
* Wake-up waiting synchronize_rcu(). Called from many concurrent threads.
This page took
0.023838 seconds
and
4
git commands to generate.