projects
/
urcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Permit both 32 and 64-bit builds
[urcu.git]
/
urcu-qsbr.c
diff --git
a/urcu-qsbr.c
b/urcu-qsbr.c
index 1955277ac65d309e8b187f82b2eec242a7d211f2..ba6e02af27f3a18b60f26d56779bb5d4f869524e 100644
(file)
--- a/
urcu-qsbr.c
+++ b/
urcu-qsbr.c
@@
-42,20
+42,20
@@
pthread_mutex_t urcu_mutex = PTHREAD_MUTEX_INITIALIZER;
/*
* Global grace period counter.
*/
/*
* Global grace period counter.
*/
-
long urcu_gp_ctr = 1
;
+
unsigned long urcu_gp_ctr = RCU_GP_ONLINE
;
/*
* Written to only by each individual reader. Read by both the reader and the
* writers.
*/
/*
* Written to only by each individual reader. Read by both the reader and the
* writers.
*/
-long __thread rcu_reader_qs_gp;
+
unsigned
long __thread rcu_reader_qs_gp;
/* Thread IDs of registered readers */
#define INIT_NUM_THREADS 4
struct reader_registry {
pthread_t tid;
/* Thread IDs of registered readers */
#define INIT_NUM_THREADS 4
struct reader_registry {
pthread_t tid;
- long *rcu_reader_qs_gp;
+
unsigned
long *rcu_reader_qs_gp;
};
#ifdef DEBUG_YIELD
};
#ifdef DEBUG_YIELD
@@
-139,7
+139,7
@@
static void wait_for_quiescent_state(void)
void synchronize_rcu(void)
{
void synchronize_rcu(void)
{
- long was_online;
+
unsigned
long was_online;
was_online = rcu_reader_qs_gp;
was_online = rcu_reader_qs_gp;
@@
-153,7
+153,7
@@
void synchronize_rcu(void)
STORE_SHARED(rcu_reader_qs_gp, 0);
internal_urcu_lock();
STORE_SHARED(rcu_reader_qs_gp, 0);
internal_urcu_lock();
- STORE_SHARED(urcu_gp_ctr, urcu_gp_ctr +
2
);
+ STORE_SHARED(urcu_gp_ctr, urcu_gp_ctr +
RCU_GP_CTR
);
wait_for_quiescent_state();
internal_urcu_unlock();
wait_for_quiescent_state();
internal_urcu_unlock();
This page took
0.024073 seconds
and
4
git commands to generate.