X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Ftest_urcu_hash.c;h=b68db492cc0a794e0503059de006109e41e4da02;hb=80d90c06106dbf17f80c0db4d001e8bb8e6918d9;hp=89063b98626042262341fdcc27e5b6ee28c0277c;hpb=48ed1c184a1aa1da7d84c2d0bc1b9528627248ac;p=urcu.git 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