[lttng-dev] [PATCH 1/4] test: test for the proper pointer
Lai Jiangshan
laijs at cn.fujitsu.com
Sat Oct 13 12:08:31 EDT 2012
We should use "if (snode)" instead of "if (node)" in case of
the struct cds_lfs_node_rcu is not the first field of struct node.
Signed-off-by: Lai Jiangshan <laijs at cn.fujitsu.com>
---
tests/test_urcu_lfs.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/tests/test_urcu_lfs.c b/tests/test_urcu_lfs.c
index 88bf65d..681b654 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)++;
}
--
1.7.7.6
More information about the lttng-dev
mailing list