static struct cds_lfq_queue_rcu q;
+static
void *thr_enqueuer(void *_count)
{
unsigned long long *count = _count;
free(node);
}
+static
void *thr_dequeuer(void *_count)
{
unsigned long long *count = _count;
return ((void*)2);
}
-void test_end(struct cds_lfq_queue_rcu *q, unsigned long long *nr_dequeues)
+static
+void test_end(unsigned long long *nr_dequeues_l)
{
struct cds_lfq_node_rcu *snode;
do {
- snode = cds_lfq_dequeue_rcu(q);
+ snode = cds_lfq_dequeue_rcu(&q);
if (snode) {
struct test *node;
node = caa_container_of(snode, struct test, list);
free(node); /* no more concurrent access */
- (*nr_dequeues)++;
+ (*nr_dequeues_l)++;
}
} while (snode);
}
+static
void show_usage(int argc, char **argv)
{
printf("Usage : %s nr_dequeuers nr_enqueuers duration (s) <OPTIONS>\n",
tot_successful_dequeues += count_dequeuer[2 * i_thr + 1];
}
- test_end(&q, &end_dequeues);
+ test_end(&end_dequeues);
err = cds_lfq_destroy_rcu(&q);
assert(!err);