X-Git-Url: http://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Fbenchmark%2Ftest_urcu_lfs.c;h=38e99bff20cd47d2ece2aa51d21dd17f370e10f2;hp=723e4a44c8e004b9629ea8c4d769e8ec244b60e7;hb=447c9339d4f21fe5bba1aa77eccc9f94745e6447;hpb=d863e15371666dff14e7f3191de5ff91d9b24d7f diff --git a/tests/benchmark/test_urcu_lfs.c b/tests/benchmark/test_urcu_lfs.c index 723e4a4..38e99bf 100644 --- a/tests/benchmark/test_urcu_lfs.c +++ b/tests/benchmark/test_urcu_lfs.c @@ -21,8 +21,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#define _GNU_SOURCE -#include "config.h" #include #include #include @@ -50,6 +48,8 @@ #include #include +#define POISON_PTR ((void *) 0x42UL) + /* * External synchronization used. */ @@ -219,6 +219,7 @@ void do_test_pop(enum test_sync sync) if (snode) { struct test *node; + snode->next = POISON_PTR; node = caa_container_of(snode, struct test, list); if (sync == TEST_SYNC_RCU) @@ -241,6 +242,7 @@ void do_test_pop_all(enum test_sync sync) cds_lfs_for_each_safe(head, snode, n) { struct test *node; + snode->next = POISON_PTR; node = caa_container_of(snode, struct test, list); if (sync == TEST_SYNC_RCU) call_rcu(&node->rcu, free_node_cb); @@ -465,8 +467,10 @@ int main(int argc, char **argv) for (i = 0; i < duration; i++) { sleep(1); - if (verbose_mode) - (void) write(1, ".", 1); + if (verbose_mode) { + fwrite(".", sizeof(char), 1, stdout); + fflush(stdout); + } } test_stop = 1; @@ -510,6 +514,7 @@ int main(int argc, char **argv) tot_successful_dequeues + end_dequeues); free_all_cpu_call_rcu_data(); + cds_lfs_destroy(&s); free(count_enqueuer); free(count_dequeuer); free(tid_enqueuer);