X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=tests%2Ftest_urcu_hash.c;h=c19a4876df4443add7031311ccf161504abb08f6;hb=860d07e812c3001e9d6ce261c8b861dabd3203b3;hp=49239609d30ef1f8c33f7e0207312c3193ae820b;hpb=5dc00396dd80106b6b17d210f7bbf5c69904f76f;p=urcu.git diff --git a/tests/test_urcu_hash.c b/tests/test_urcu_hash.c index 4923960..c19a487 100644 --- a/tests/test_urcu_hash.c +++ b/tests/test_urcu_hash.c @@ -400,11 +400,12 @@ void *thr_reader(void *_count) for (;;) { rcu_read_lock(); node = cds_lfht_lookup(test_ht, - (void *)(unsigned long)((rand_r(&rand_lookup) % lookup_pool_size) + lookup_pool_offset), + (void *)(((unsigned long) rand_r(&rand_lookup) % lookup_pool_size) + lookup_pool_offset), sizeof(void *)); if (node == NULL) { if (validate_lookup) { printf("[ERROR] Lookup cannot find initial node.\n"); + exit(-1); } lookup_fail++; } else { @@ -464,7 +465,7 @@ void *thr_writer(void *_count) node = malloc(sizeof(struct cds_lfht_node)); rcu_read_lock(); cds_lfht_node_init(node, - (void *)(unsigned long)((rand_r(&rand_lookup) % write_pool_size) + write_pool_offset), + (void *)(((unsigned long) rand_r(&rand_lookup) % write_pool_size) + write_pool_offset), sizeof(void *)); if (add_unique) ret_node = cds_lfht_add_unique(test_ht, node); @@ -480,10 +481,10 @@ void *thr_writer(void *_count) /* May delete */ rcu_read_lock(); node = cds_lfht_lookup(test_ht, - (void *)(unsigned long)((rand_r(&rand_lookup) % write_pool_size) + write_pool_offset), + (void *)(((unsigned long) rand_r(&rand_lookup) % write_pool_size) + write_pool_offset), sizeof(void *)); if (node) - ret = cds_lfht_remove(test_ht, node); + ret = cds_lfht_del(test_ht, node); else ret = -ENOENT; rcu_read_unlock(); @@ -544,7 +545,7 @@ static int populate_hash(void) while (nr_add < init_populate) { node = malloc(sizeof(struct cds_lfht_node)); cds_lfht_node_init(node, - (void *)(unsigned long)((rand_r(&rand_lookup) % init_pool_size) + init_pool_offset), + (void *)(((unsigned long) rand_r(&rand_lookup) % init_pool_size) + init_pool_offset), sizeof(void *)); if (add_unique) ret_node = cds_lfht_add_unique(test_ht, node); @@ -749,10 +750,7 @@ int main(int argc, char **argv) count_writer = malloc(sizeof(*count_writer) * nr_writers); test_ht = cds_lfht_new(test_hash, test_compare, 0x42UL, init_hash_size, - opt_auto_resize ? CDS_LFHT_AUTO_RESIZE : 0, - call_rcu, synchronize_rcu, rcu_read_lock, - rcu_read_unlock, rcu_thread_offline, - rcu_thread_online); + opt_auto_resize ? CDS_LFHT_AUTO_RESIZE : 0, NULL); ret = populate_hash(); assert(!ret); err = create_all_cpu_call_rcu_data(0); @@ -806,7 +804,7 @@ int main(int argc, char **argv) if (count || removed) printf("WARNING: nodes left in the hash table upon destroy: " "%lu nodes + %lu logically removed.\n", count, removed); - ret = cds_lfht_destroy(test_ht); + ret = cds_lfht_destroy(test_ht, NULL); if (ret) printf_verbose("final delete aborted\n");