Fix: update automake following README to README.md change
[urcu.git] / doc / examples / urcu-flavors / mb.c
index 24daaef75c5735580457476408a1e3424478b3a4..62ad54bb7ff00309f7de7572116de1222bd8b7ee 100644 (file)
@@ -108,9 +108,24 @@ int main(int argc, char **argv)
         */
        cds_list_for_each_entry_safe(node, n, &mylist, node) {
                cds_list_del_rcu(&node->node);
+               /*
+                * call_rcu() will ensure that the handler
+                * "rcu_free_node" is executed after a grace period.
+                * call_rcu() can be called from RCU read-side critical
+                * sections.
+                */
                call_rcu(&node->rcu_head, rcu_free_node);
        }
 
+       /*
+        * We can also wait for a quiescent state by calling
+        * synchronize_rcu() rather than using call_rcu(). It is usually
+        * a slower approach than call_rcu(), because the latter can
+        * batch work. Moreover, call_rcu() can be called from a RCU
+        * read-side critical section, but synchronize_rcu() should not.
+        */
+       synchronize_rcu();
+
        sleep(1);
 
        /*
This page took 0.023598 seconds and 4 git commands to generate.