Fix urcu test: incorrect handling of del/free
[userspace-rcu.git] / tests / test_urcu_ja.c
index b3e6ed078fca822e23ec5f290762f5307af365ad..ab23982033e87c646c3ddc0b986daaadf3f62a87 100644 (file)
@@ -609,7 +609,7 @@ void *test_ja_rw_thr_reader(void *_count)
                } else {
                        URCU_TLS(lookup_ok)++;
                }
-               debug_yield_read();
+               rcu_debug_yield_read();
                if (caa_unlikely(rduration))
                        loop_sleep(rduration);
                rcu_read_unlock();
@@ -681,11 +681,11 @@ void *test_ja_rw_thr_writer(void *_count)
                        node = cds_hlist_first_entry_rcu(&head, struct ja_test_node, node.list);
                        if (node) {
                                ret = cds_ja_del(test_ja, key, &node->node);
-                               if (ret) {
+                               if (!ret) {
                                        call_rcu(&node->node.head, free_node_cb);
-                                       URCU_TLS(nr_delnoent)++;
-                               } else {
                                        URCU_TLS(nr_del)++;
+                               } else {
+                                       URCU_TLS(nr_delnoent)++;
                                }
                        } else {
                                URCU_TLS(nr_delnoent)++;
This page took 0.038952 seconds and 4 git commands to generate.