X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fmanual%2Fthreading.texinfo;h=784a96500bef3fbc1993e0f119475bf290a208c9;hb=e0f4c934a141cc3d95628f53cbcbc011a471b474;hp=f4ef3a1face228628a8207ae00b1d0964af45183;hpb=0368c43d62d6746dd8a2cb634998b4587f28f015;p=sbcl.git diff --git a/doc/manual/threading.texinfo b/doc/manual/threading.texinfo index f4ef3a1..784a965 100644 --- a/doc/manual/threading.texinfo +++ b/doc/manual/threading.texinfo @@ -44,17 +44,16 @@ backports. @section Special Variables The interaction of special variables with multiple threads is mostly -as one would expect, but users of other Lisps are warned that the -behaviour of locally bound specials differs in places from what they -may expect. +as one would expect, with behaviour very similar to other +implementations. @itemize -@item +@item global special values are visible across all threads; @item bindings (e.g. using LET) are local to the thread; @item -initial values in a new thread are taken from the thread that created it. +threads do not inherit dynamic bindings from the parent thread @end itemize The last point means that @@ -65,8 +64,8 @@ The last point means that (sb-thread:make-thread (lambda () (print *x*)))) @end lisp -prints @code{1}. - +prints @code{0} and not @code{1} as of 0.9.6. + @node Mutex Support @comment node-name, next, previous, up @section Mutex Support @@ -92,7 +91,7 @@ if you want a bounded wait. (with-mutex (*a-mutex*) (format t "Thread ~A got the lock~%" *current-thread*) (sleep (random 5))) - (format t "Thread ~A dropped lock, dying now~%" *current-thread*))) + (format t "Thread ~A dropped lock, dying now~%" *current-thread*)) (make-thread #'thread-fn) (make-thread #'thread-fn)