X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Ftest_urcu_hash.c;h=b68db492cc0a794e0503059de006109e41e4da02;hp=89063b98626042262341fdcc27e5b6ee28c0277c;hb=adc0de68ccd78689659ed49d4b3d5d36c6720e20;hpb=48ed1c184a1aa1da7d84c2d0bc1b9528627248ac diff --git a/tests/test_urcu_hash.c b/tests/test_urcu_hash.c index 89063b9..b68db49 100644 --- a/tests/test_urcu_hash.c +++ b/tests/test_urcu_hash.c @@ -384,6 +384,7 @@ void *thr_reader(void *_count) { unsigned long long *count = _count; struct cds_lfht_node *node; + struct cds_lfht_iter iter; printf_verbose("thread_begin %s, thread id : %lx, tid %lu\n", "reader", pthread_self(), (unsigned long)gettid()); @@ -399,9 +400,10 @@ void *thr_reader(void *_count) for (;;) { rcu_read_lock(); - node = cds_lfht_lookup(test_ht, + cds_lfht_lookup(test_ht, (void *)(((unsigned long) rand_r(&rand_lookup) % lookup_pool_size) + lookup_pool_offset), - sizeof(void *)); + sizeof(void *), &iter); + node = cds_lfht_iter_get_node(&iter); if (node == NULL) { if (validate_lookup) { printf("[ERROR] Lookup cannot find initial node.\n"); @@ -444,6 +446,7 @@ void free_node_cb(struct rcu_head *head) void *thr_writer(void *_count) { struct cds_lfht_node *node, *ret_node; + struct cds_lfht_iter iter; struct wr_count *count = _count; int ret; @@ -490,9 +493,10 @@ void *thr_writer(void *_count) } else { /* May delete */ rcu_read_lock(); - node = cds_lfht_lookup(test_ht, + cds_lfht_lookup(test_ht, (void *)(((unsigned long) rand_r(&rand_lookup) % write_pool_size) + write_pool_offset), - sizeof(void *)); + sizeof(void *), &iter); + node = cds_lfht_iter_get_node(&iter); if (node) ret = cds_lfht_del(test_ht, node); else