X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=doc%2Fexamples%2Fwfcqueue%2Fcds_wfcq_enqueue.c;h=374ca72c9791d268b58cfeef1561b2a9040f9550;hb=HEAD;hp=b5dc1471f6bbcc109d300be81a3254456044ab3d;hpb=483370758193a1d58f4668c3d53ae2b5fe1e66c3;p=urcu.git diff --git a/doc/examples/wfcqueue/cds_wfcq_enqueue.c b/doc/examples/wfcqueue/cds_wfcq_enqueue.c index b5dc147..374ca72 100644 --- a/doc/examples/wfcqueue/cds_wfcq_enqueue.c +++ b/doc/examples/wfcqueue/cds_wfcq_enqueue.c @@ -1,15 +1,8 @@ +// SPDX-FileCopyrightText: 2013 Mathieu Desnoyers +// +// SPDX-License-Identifier: MIT + /* - * Copyright (C) 2013 Mathieu Desnoyers - * - * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED - * OR IMPLIED. ANY USE IS AT YOUR OWN RISK. - * - * Permission is hereby granted to use or copy this program for any - * purpose, provided the above notices are retained on all copies. - * Permission to modify the code and to distribute modified code is - * granted, provided the above notices are retained, and a notice that - * the code was modified is included with the above copyright notice. - * * This example shows how to enqueue nodes into a wfcqueue. */ @@ -27,7 +20,7 @@ struct mynode { struct cds_wfcq_node node; /* Chaining in queue */ }; -int main(int argc, char **argv) +int main(void) { int values[] = { -5, 42, 36, 24, }; struct cds_wfcq_head myqueue_head; /* Queue head */ @@ -39,8 +32,7 @@ int main(int argc, char **argv) cds_wfcq_init(&myqueue_head, &myqueue_tail); /* - * Adding nodes to the linked-list. Safe against concurrent - * RCU traversals, require mutual exclusion with list updates. + * Enqueue nodes. */ for (i = 0; i < CAA_ARRAY_SIZE(values); i++) { struct mynode *node; @@ -58,7 +50,8 @@ int main(int argc, char **argv) } /* - * Show the queue content. + * Show the queue content, iterate in the same order nodes were + * enqueued, from oldest to newest. */ printf("myqueue content:"); __cds_wfcq_for_each_blocking(&myqueue_head, &myqueue_tail, qnode) { @@ -68,5 +61,6 @@ int main(int argc, char **argv) } printf("\n"); end: + cds_wfcq_destroy(&myqueue_head, &myqueue_tail); return ret; }