rculfhash: put thread offline before taking mutex (fix G.P. deadlock)
[urcu.git] / tests / test_urcu_hash.c
index 414948c8b501251ca1d92cbed6565446e5325cd2..d7c2fc2da4098ea37de585590564e403032fadbe 100644 (file)
@@ -46,9 +46,6 @@
 /* hardcoded number of CPUs */
 #define NR_CPUS 16384
 
-/* For testing */
-#define POISON_FREE
-
 #ifdef POISON_FREE
 #define poison_free(ptr)                               \
        do {                                            \
@@ -720,7 +717,8 @@ int main(int argc, char **argv)
                        init_hash_size,
                        opt_auto_resize ? CDS_LFHT_AUTO_RESIZE : 0,
                        call_rcu, synchronize_rcu, rcu_read_lock,
-                       rcu_read_unlock);
+                       rcu_read_unlock, rcu_thread_offline,
+                       rcu_thread_online);
        ret = populate_hash();
        assert(!ret);
         err = create_all_cpu_call_rcu_data(0);
@@ -790,6 +788,7 @@ int main(int argc, char **argv)
                nr_writers, wdelay, rand_pool, tot_reads, tot_writes,
                tot_reads + tot_writes, tot_add, tot_add_exist, tot_remove,
                (long long) tot_add + init_populate - tot_remove - count);
+       free_all_cpu_call_rcu_data();
        free(tid_reader);
        free(tid_writer);
        free(count_reader);
This page took 0.022633 seconds and 4 git commands to generate.