X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=tests%2Ftest_urcu_ja.c;h=d973220ce7fb15f8a6644e83958f6f7573690201;hb=a7542b7ffdfa5cd6d86a9c8e17da046ce0d3670e;hp=dc8b8adcc16578ad00cb863edcb7c499ec357bcd;hpb=756c692db1635a762ab2fa288e761f3ee3fa1b88;p=userspace-rcu.git diff --git a/tests/test_urcu_ja.c b/tests/test_urcu_ja.c index dc8b8ad..d973220 100644 --- a/tests/test_urcu_ja.c +++ b/tests/test_urcu_ja.c @@ -129,7 +129,7 @@ void free_node_cb(struct rcu_head *head) { struct ja_test_node *node = caa_container_of(head, struct ja_test_node, node.head); - free(node); + poison_free(node); } #if 0 @@ -681,15 +681,16 @@ 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)++; } + rcu_read_unlock(); } URCU_TLS(nr_writes)++;