wfstack: implement cds_wfs_pop_all and iterators, document API
[urcu.git] / README
diff --git a/README b/README
index 104ef2ab4eb481383b19c89dd7619b077d948680..81afe0e2757c8bceabef7c50ff4102d0600aa8d3 100644 (file)
--- a/README
+++ b/README
@@ -22,14 +22,17 @@ BUILDING
                Forcing a 32-bit build for Sparcv9 (typical for Sparc v9)
                * CFLAGS="-m32 -Wa,-Av9a -g -O2" ./configure
 
+
 ARCHITECTURES SUPPORTED
 -----------------------
 
-Currently, x86 (i386, i486, i586, i686), x86 64-bit, PowerPC 32/64, S390, S390x,
-ARM, Alpha, ia64 and Sparcv9 32/64 are supported. Only tested on Linux so
-far, but should theoretically work on other operating systems.
+Currently, Linux x86 (i386, i486, i586, i686), x86 64-bit, PowerPC 32/64,
+S390, S390x, ARM, Alpha, ia64 and Sparcv9 32/64 are supported. Tested on
+Linux, FreeBSD 8.2/9.0, and Cygwin. Should also work on: Android, NetBSD 5,
+OpenBSD, Darwin (more testing needed before claiming support for these OS).
 
-ARM depends on running a Linux kernel 2.6.15 or better, GCC 4.4 or better.
+Linux ARM depends on running a Linux kernel 2.6.15 or better, GCC 4.4 or
+better.
 
 The gcc compiler versions 3.3, 3.4, 4.0, 4.1, 4.2, 4.3, 4.4 and 4.5 are
 supported, with the following exceptions:
@@ -60,6 +63,22 @@ If you get the tree from the repository, you will need to use the "bootstrap"
 script in the root of the tree. It calls all the GNU tools needed to prepare the
 tree configuration.
 
+Test scripts provided in the tests/ directory of the source tree depend
+on "bash" and the "seq" program.
+
+
+API
+---
+
+See the relevant API documentation files in doc/. The APIs provided by
+Userspace RCU are, by prefix:
+
+- rcu_ : Read-Copy Update
+- cmm_ : Concurrent Memory Model
+- caa_ : Concurrent Architecture Abstraction
+- cds_ : Concurrent Data Structures
+- uatomic_: Userspace Atomic
+
 
 QUICK START GUIDE
 -----------------
@@ -172,7 +191,7 @@ Usage of urcu-call-rcu
          grace periods.  A number of additional functions are provided
          to manage the helper threads used by call_rcu(), but reasonable
          defaults are used if these additional functions are not invoked.
-         See API.txt for more details.
+         See rcu-api.txt in userspace-rcu documentation for more details.
 
 Being careful with signals
 
@@ -184,11 +203,12 @@ Being careful with signals
        signal(7). The liburcu-mb and liburcu-qsbr versions of the Userspace RCU
        library do not require any signal.
 
-       Read-side critical sections are allowed in a signal handler with
-       liburcu and liburcu-mb. Be careful, however, to disable these signals
+       Read-side critical sections are allowed in a signal handler,
+       except those setup with sigaltstack(2), with liburcu and
+       liburcu-mb. Be careful, however, to disable these signals
        between thread creation and calls to rcu_register_thread(), because a
-       signal handler nesting on an unregistered thread would not be allowed to
-       call rcu_read_lock().
+       signal handler nesting on an unregistered thread would not be
+       allowed to call rcu_read_lock().
 
        Read-side critical sections are _not_ allowed in a signal handler with
        liburcu-qsbr, unless signals are disabled explicitly around each
This page took 0.022944 seconds and 4 git commands to generate.