X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Fbeyond-ansi.xml;h=140afa9a9110885669ad724c82eb9581cf09f2da;hb=b282ecc0240c6dc67aaeea2d64046d411738385a;hp=71f1beee0752c893aa6fcb2499febac71b1de528;hpb=9b28f6ac7ad35a4061de179a3a1954c3bf6017bc;p=sbcl.git diff --git a/doc/beyond-ansi.xml b/doc/beyond-ansi.xml index 71f1bee..140afa9 100644 --- a/doc/beyond-ansi.xml +++ b/doc/beyond-ansi.xml @@ -232,23 +232,12 @@ question uses %fs in an incompatible way. There are two implementation mechanisms for queueing. If SBCL was built on an NPTL-capable Linux system (2.6 or some vendor 2.4 -ports) with the :SB-FUTEX feature, queuing will be doneusing the -sys_futex() call. Otherwise it will fall back to -using sigtimedwait() to sleep and a signal +ports) with the :SB-FUTEX feature, queuing will be done using the +sys_futex() system call if it's available at +runtime. Otherwise it will fall back to using +sigtimedwait() to sleep and a signal (SIG_DEQUEUE, one of the POSIX RT signals) to wake. -&SBCL; at present will alway have at least two tasks running as -seen from Linux: when the first process has done startup -initialization (mapping files in place, installing signal handlers -etc) it creates a new thread to run the Lisp startup and initial -listener. The original thread stays around to reap it when it's dead -and deallocate its resources (e.g. stacks) when it exits. - - -It should be noted that the initial thread does less and less in -each new release of SBCL, and one day soon will probably go away -altogether. - Garbage collection is done with the existing Conservative Generational GC. Allocation is done in small (typically 8k) regions : each thread has its own region so this involves no stopping. However,