}
list_for_each_entry_safe(index, tmp, ®istry, head) {
- if (!rcu_old_gp_ongoing(&index->ctr))
+ if (!rcu_gp_ongoing(&index->ctr))
list_move(&index->head, &qsreaders);
}
{
rcu_reader.tid = pthread_self();
assert(rcu_reader.need_mb == 0);
- assert(rcu_reader.ctr == 0);
+ assert(!(rcu_reader.ctr & RCU_GP_CTR_NEST_MASK));
mutex_lock(&rcu_gp_lock);
rcu_init(); /* In case gcc does not support constructor attribute */