X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=tests%2Ftest_urcu_lfs.c;h=99d1b4c9dfb426179b81e6c371623541f018c445;hb=f3eb6ef162778c396fcffefda3f3379fce5cab17;hp=5886ce86de50c1ab2c25c61a172d895fa4a33a53;hpb=1fe734e1914993dfa395e2b81e5c9ee0115cc56c;p=userspace-rcu.git diff --git a/tests/test_urcu_lfs.c b/tests/test_urcu_lfs.c index 5886ce8..99d1b4c 100644 --- a/tests/test_urcu_lfs.c +++ b/tests/test_urcu_lfs.c @@ -242,13 +242,14 @@ void *thr_dequeuer(void *_count) for (;;) { struct cds_lfs_node_rcu *snode; - struct test *node; rcu_read_lock(); snode = cds_lfs_pop_rcu(&s); - node = caa_container_of(snode, struct test, list); rcu_read_unlock(); - if (node) { + if (snode) { + struct test *node; + + node = caa_container_of(snode, struct test, list); call_rcu(&node->rcu, free_node_cb); URCU_TLS(nr_successful_dequeues)++; }