#define LOCK_PREFIX "lock ; "
+#if 0 /* duplicate with arch_atomic.h */
/*
* Atomic data structure, initialization, and access.
*/
#define smp_mb__before_atomic_inc() barrier()
#define smp_mb__after_atomic_inc() barrier()
+#endif //0 /* duplicate with arch_atomic.h */
+
/*
* api_pthreads.h: API mapping to pthreads environment.
*
#define ____cacheline_internodealigned_in_smp \
__attribute__((__aligned__(1 << 7)))
+#if 0 /* duplicate with arch_atomic.h */
+
/*
* Atomic data structure, initialization, and access.
*/
# define ISYNC_ON_SMP
#endif
-
/*
* Atomic exchange
*
#define smp_mb__before_atomic_inc() smp_mb()
#define smp_mb__after_atomic_inc() smp_mb()
+#endif //0 /* duplicate with arch_atomic.h */
+
/*
* api_pthreads.h: API mapping to pthreads environment.
*
#define LOCK_PREFIX "lock ; "
+#if 0 /* duplicate with arch_atomic.h */
+
/*
* Atomic data structure, initialization, and access.
*/
#define smp_mb__before_atomic_inc() barrier()
#define smp_mb__after_atomic_inc() barrier()
+#endif //0
+
/*
* api_pthreads.h: API mapping to pthreads environment.
*
long long n_reads = 0LL;
long n_updates = 0L;
-atomic_t nthreadsrunning;
+int nthreadsrunning;
char argsbuf[64];
#define GOFLAG_INIT 0
#include <poll.h>
#include <unistd.h>
#include <stdlib.h>
+#include "../arch_atomic.h"
#include "api.h"
#define _LGPL_SOURCE
#include "../urcu.h"