Add test for rcu_assign_pointer()
[urcu.git] / README
diff --git a/README b/README
index 7753c8f957dfbf6acd9244b2fa2d9759879bc3f3..e5c04b179cae49d202a49809d09a76f714ada711 100644 (file)
--- a/README
+++ b/README
@@ -5,6 +5,8 @@ BUILDING
 --------
 
        make
 --------
 
        make
+       #force 32-bit build with: make -f Makefile32
+       #force 64-bit build with: make -f Makefile64
        make install
        
 
        make install
        
 
@@ -31,7 +33,7 @@ Usage of liburcu
 Usage of liburcu-mb
 
        * #include <urcu.h>
 Usage of liburcu-mb
 
        * #include <urcu.h>
-       * Compile code with "-DURCU_MB"
+       * Compile any _LGPL_SOURCE code using this library with "-DURCU_MB".
        * Link with "-lurcu-mb".
        * This version of the urcu library does not need to
          reserve a signal number. URCU_MB uses full memory barriers for
        * Link with "-lurcu-mb".
        * This version of the urcu library does not need to
          reserve a signal number. URCU_MB uses full memory barriers for
@@ -52,7 +54,9 @@ Initialization
 
        Each thread that has reader critical sections (that uses
        rcu_read_lock()/rcu_read_unlock() must first register to the URCU
 
        Each thread that has reader critical sections (that uses
        rcu_read_lock()/rcu_read_unlock() must first register to the URCU
-       library. This is done by calling rcu_register_thread().
+       library. This is done by calling rcu_register_thread(). Unregistration
+       must be performed before exiting the thread by using
+       rcu_unregister_thread().
 
 Reading
 
 
 Reading
 
@@ -66,6 +70,15 @@ Writing
        After, synchronize_rcu() must be called. When it returns, the old
        values are not in usage anymore.
 
        After, synchronize_rcu() must be called. When it returns, the old
        values are not in usage anymore.
 
+Usage of liburcu-defer
+
+       * #include <urcu-defer.h>
+       * Link with "-lurcu-defer"
+       * Provides call_rcu() primitive to enqueue delayed callbacks. Queued
+         callbacks are executed in batch periodically after a grace period.
+         Do _not_ use call_rcu() within a read-side critical section, because
+         it may call synchronize_rcu() if the thread queue is full.
+
 Being careful with signals
 
        The liburcu library uses signals internally. The signal handler is
 Being careful with signals
 
        The liburcu library uses signals internally. The signal handler is
This page took 0.022777 seconds and 4 git commands to generate.