X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=tests%2Ftest_urcu_hash.c;h=92816674dc97a99bc4c96f4b7cf6268706eea569;hb=742aa1dbb547cfb316afab100c7a7dfd07375478;hp=59356568bb2602cedea8c98e847f0a9dfe829862;hpb=732ad076c182b3ad706cd62f8a6694f921e1bb7c;p=urcu.git diff --git a/tests/test_urcu_hash.c b/tests/test_urcu_hash.c index 5935656..9281667 100644 --- a/tests/test_urcu_hash.c +++ b/tests/test_urcu_hash.c @@ -38,7 +38,7 @@ #endif #define HASH_SIZE 32 -#define RAND_POOL 1000 +#define RAND_POOL 10000 /* Make this big enough to include the POWER5+ L3 cacheline size of 256B */ #define CACHE_LINE_SIZE 4096 @@ -405,9 +405,13 @@ void *thr_writer(void *_count) (void *)(unsigned long)(rand_r(&rand_lookup) % RAND_POOL), sizeof(void *), (void *) 0x42); - ht_add(test_ht, node); + ret = ht_add_unique(test_ht, node); rcu_read_unlock(); - nr_add++; + if (ret) { + free(node); + nr_addexist++; + } else + nr_add++; } else { /* May delete */ rcu_read_lock();