end = tmp;
}
rcu_read_lock();
- range = cds_ja_range_add(test_ja, start, end, NULL);
- if (!range) {
- fprintf(stderr, "Error in cds_ja_add: %d\n", ret);
+ ret = cds_ja_range_add(test_ja, start, end, NULL);
+ if (ret) {
+ if (ret == -EEXIST) {
+ URCU_TLS(nr_addexist)++;
+ } else {
+ assert(0);
+ }
} else {
URCU_TLS(nr_add)++;
}
key = (unsigned long) iter;
key *= key_mul;
rcu_read_lock();
- range = cds_ja_range_add(test_ja, key, key, NULL);
+ ret = cds_ja_range_add(test_ja, key, key, NULL);
URCU_TLS(nr_add)++;
URCU_TLS(nr_writes)++;
rcu_read_unlock();
- if (!range) {
- fprintf(stderr, "Error adding range %" PRIu64 "\n",
- key);
+ if (ret) {
+ fprintf(stderr, "Error (%d) adding range %" PRIu64 "\n",
+ ret, key);
assert(0);
}
}
}
rcu_thread_online_qsbr();
+ ret = cds_ja_range_validate(test_ja);
+ assert(!ret);
+
ret = cds_ja_range_destroy(test_ja, NULL);
if (ret) {
fprintf(stderr, "Error destroying judy array\n");