uatomic/x86: Remove redundant memory barriers
[urcu.git] / doc / examples / list / cds_list_for_each_rcu.c
index 5de6bcf5f3265f17782140ea7b609ba42a87e2cf..044aa5efeb7b9f3ace93e2677ad4bf273d78efb6 100644 (file)
@@ -1,16 +1,9 @@
+// SPDX-FileCopyrightText: 2013 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+//
+// SPDX-License-Identifier: MIT
+
 /*
- * Copyright (C) 2013  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * 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 to a RCU linked list traversal, safely
+ * This example shows how to do a RCU linked list traversal, safely
  * against concurrent RCU updates. cds_list_for_each_rcu() iterates on
  * struct cds_list_head, and thus, either caa_container_of() or
  * cds_list_entry() are needed to access the container structure.
@@ -18,7 +11,7 @@
 
 #include <stdio.h>
 
-#include <urcu.h>              /* Userspace RCU flavor */
+#include <urcu/urcu-memb.h>    /* Userspace RCU flavor */
 #include <urcu/rculist.h>      /* RCU list */
 #include <urcu/compiler.h>     /* For CAA_ARRAY_SIZE */
 
@@ -30,7 +23,7 @@ struct mynode {
        struct cds_list_head node;      /* Linked-list chaining */
 };
 
-int main(int argc, char **argv)
+int main(void)
 {
        int values[] = { -5, 42, 36, 24, };
        CDS_LIST_HEAD(mylist);          /* Defines an empty list head */
@@ -39,10 +32,10 @@ int main(int argc, char **argv)
        struct cds_list_head *pos;
 
        /*
-        * Each thread need using RCU read-side need to be explicitely
+        * Each thread need using RCU read-side need to be explicitly
         * registered.
         */
-       rcu_register_thread();
+       urcu_memb_register_thread();
 
        /*
         * Adding nodes to the linked-list. Safe against concurrent
@@ -66,10 +59,10 @@ int main(int argc, char **argv)
        printf("mylist content:");
 
        /*
-        * Surround the RCU read-side critical section with rcu_read_lock()
-        * and rcu_read_unlock().
+        * Surround the RCU read-side critical section with urcu_memb_read_lock()
+        * and urcu_memb_read_unlock().
         */
-       rcu_read_lock();
+       urcu_memb_read_lock();
 
        /*
         * This traversal can be performed concurrently with RCU
@@ -81,10 +74,10 @@ int main(int argc, char **argv)
                printf(" %d", node->value);
        }
 
-       rcu_read_unlock();
+       urcu_memb_read_unlock();
 
        printf("\n");
 end:
-       rcu_unregister_thread();
+       urcu_memb_unregister_thread();
        return ret;
 }
This page took 0.024936 seconds and 4 git commands to generate.