#include <errno.h>
#include <poll.h>
-#include "urcu/wfqueue.h"
+#include "urcu/wfcqueue.h"
#include "urcu/map/urcu-qsbr.h"
#define BUILD_QSBR_LIB
#include "urcu/static/urcu-qsbr.h"
static pthread_mutex_t rcu_gp_lock = PTHREAD_MUTEX_INITIALIZER;
-int32_t gp_futex;
+int32_t rcu_gp_futex;
/*
* Global grace period counter.
DEFINE_URCU_TLS(struct rcu_reader, rcu_reader);
#ifdef DEBUG_YIELD
-unsigned int yield_active;
-DEFINE_URCU_TLS(unsigned int, rand_yield);
+unsigned int rcu_yield_active;
+DEFINE_URCU_TLS(unsigned int, rcu_rand_yield);
#endif
static CDS_LIST_HEAD(registry);
{
/* Read reader_gp before read futex */
cmm_smp_rmb();
- if (uatomic_read(&gp_futex) == -1)
- futex_noasync(&gp_futex, FUTEX_WAIT, -1,
+ if (uatomic_read(&rcu_gp_futex) == -1)
+ futex_noasync(&rcu_gp_futex, FUTEX_WAIT, -1,
NULL, NULL, 0);
}
for (;;) {
wait_loops++;
if (wait_loops >= RCU_QS_ACTIVE_ATTEMPTS) {
- uatomic_set(&gp_futex, -1);
+ uatomic_set(&rcu_gp_futex, -1);
/*
* Write futex before write waiting (the other side
* reads them in the opposite order).
if (wait_loops >= RCU_QS_ACTIVE_ATTEMPTS) {
/* Read reader_gp before write futex */
cmm_smp_mb();
- uatomic_set(&gp_futex, 0);
+ uatomic_set(&rcu_gp_futex, 0);
}
break;
} else {