doc/examples: add synchronize_rcu()
[urcu.git] / doc / examples / urcu-flavors / membarrier.c
index 0c5be4c0aeae946dbd9c645273d318b8dfdf1231..21f4579972193497366eacb8d137c001bce1c3f4 100644 (file)
@@ -116,6 +116,15 @@ int main(int argc, char **argv)
                call_rcu(&node->rcu_head, rcu_free_node);
        }
 
                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);
 
        /*
        sleep(1);
 
        /*
This page took 0.022245 seconds and 4 git commands to generate.