X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2Fthreading.texinfo;h=3fc374ab7a0e2cc9fc0523ae85b27305f42f9bf4;hb=cea2946076e0dac11eea1c95158e5e2326455dd8;hp=b6816691b06be8e70180351a300339b976535787;hpb=a08efdfc11a98f4c7531cf67e0d4fdf5f274681f;p=sbcl.git diff --git a/doc/manual/threading.texinfo b/doc/manual/threading.texinfo index b681669..3fc374a 100644 --- a/doc/manual/threading.texinfo +++ b/doc/manual/threading.texinfo @@ -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