X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=urcu.c;h=d4a06844885cde3da2d03092e3e9c45a939e0438;hb=128166c908bfaa915c76e060522abd20241ac69c;hp=53c7f37677f762280b2a6337a6820bdf22c55faf;hpb=6e32665beaad7fef48e9ab3c8c4cda2e9c232dde;p=userspace-rcu.git diff --git a/urcu.c b/urcu.c index 53c7f37..d4a0684 100644 --- a/urcu.c +++ b/urcu.c @@ -19,8 +19,12 @@ pthread_mutex_t urcu_mutex = PTHREAD_MUTEX_INITIALIZER; -/* Global grace period counter */ -long urcu_gp_ctr; +/* + * Global grace period counter. + * Contains the current RCU_GP_CTR_BIT. + * Also has a RCU_GP_CTR_BIT of 1, to accelerate the reader fast path. + */ +long urcu_gp_ctr = RCU_GP_COUNT; long __thread urcu_active_readers; @@ -29,7 +33,7 @@ long __thread urcu_active_readers; struct reader_data { pthread_t tid; - int *urcu_active_readers; + long *urcu_active_readers; }; #ifdef DEBUG_YIELD