range = range_create(0, UINT64_MAX, NULL, CDS_JA_RANGE_FREE);
if (!range)
goto free_ja;
+ cds_lfht_rcu_flavor(ja->ht)->read_lock();
ret = cds_ja_add(ja, 0, &range->ja_node);
+ cds_lfht_rcu_flavor(ja->ht)->read_unlock();
if (ret)
goto free_range;
return ja;
struct cds_ja_node *ja_node;
int ret = 0;
+ cds_lfht_rcu_flavor(ja->ht)->read_lock();
cds_ja_for_each_key_rcu(ja, key, ja_node) {
struct cds_ja_node *tmp_node;
free_range(range);
}
}
+ cds_lfht_rcu_flavor(ja->ht)->read_unlock();
return cds_ja_destroy(ja);
error:
+ cds_lfht_rcu_flavor(ja->ht)->read_unlock();
return ret;
}