there cannot be any readers who hold references to the data structure,
and these can now be safely reclaimed (e.g., freed or unref'ed).
-Here is a picutre:
+Here is a picture:
thread 1 thread 2 thread 3
------------------- ------------------------ -------------------
the callback function is g_free, in particular, g_free_rcu can be
used. In the above case, one could have written simply:
- g_free_rcu(foo_reclaim, rcu);
+ g_free_rcu(&foo, rcu);
typeof(*p) atomic_rcu_read(p);
and then read from there.
RCU read-side critical sections must use atomic_rcu_read() to
- read data, unless concurrent writes are presented by another
+ read data, unless concurrent writes are prevented by another
synchronization mechanism.
Furthermore, RCU read-side critical sections should traverse the