1.0.40.6: call an appropriate existing ctor from MAKE-INSTANCE (CLASS)
[sbcl.git] / doc / manual / threading.texinfo
index b681669..3fc374a 100644 (file)
@@ -9,13 +9,17 @@ multiprocessing on machines that have more than one CPU, but it does
 not allow Lisp control of the scheduler.  This is found in the
 SB-THREAD package.
 
-This requires Linux (2.6+ or systems with NPTL backports) running on the
-x86 or x86-64 architecture, or SunOS (Solaris) on the x86.  Support for
-threading on Darwin (Mac OS X) and FreeBSD on the x86 is experimental.
+Threads are part of the default build on x86[-64] Linux only.
+
+They are also experimentally supported on: x86[-64] Darwin (Mac OS X),
+x86[-64] FreeBSD, and x86 SunOS (Solaris). On these platforms threads
+must be explicitly enabled at build-time, see @file{INSTALL} for
+directions.
 
 @menu
 * Threading basics::            
 * Special Variables::           
+* Atomic Operations::           
 * Mutex Support::               
 * Semaphores::                  
 * Waitqueue/condition variables::  
@@ -91,6 +95,17 @@ The last point means that
 
 prints @code{0} and not @code{1} as of 0.9.6.
 
+@node Atomic Operations
+@comment  node-name,  next,  previous,  up
+@section Atomic Operations
+
+SBCL provides a few special purpose atomic operations, particularly
+useful for implementing lockless algorithms.
+
+@include macro-sb-ext-atomic-decf.texinfo
+@include macro-sb-ext-atomic-incf.texinfo
+@include macro-sb-ext-compare-and-swap.texinfo
+
 @node Mutex Support
 @comment  node-name,  next,  previous,  up
 @section Mutex Support
@@ -143,6 +158,7 @@ experimental, subject to API changes without notice.
 @include fun-sb-thread-semaphore-count.texinfo
 @include fun-sb-thread-semaphore-name.texinfo
 @include fun-sb-thread-signal-semaphore.texinfo
+@include fun-sb-thread-try-semaphore.texinfo
 @include fun-sb-thread-wait-on-semaphore.texinfo
 
 @node Waitqueue/condition variables