Folks,
What is the meaning of the initial bindings bit in the following chunk
code from Portable AllegroServe?
; create accept thread
(setf (wserver-accept-thread *wserver*)
(mp:process-run-function
(list :name (format nil "aserve-accept-~d" (incf *thread-index*))
:initial-bindings
`((*wserver* . ',*wserver*)
#+ignore (*debug-io* . ',(wserver-terminal-io *wserver*))
,@excl:*cl-default-special-bindings*))
#'http-accept-thread)))
Thanks, Joel
From: Edi Weitz
Subject: Re: excl:*cl-default-special-bindings*
Date:
Message-ID: <uirz5w5o0.fsf@agharta.de>
On 20 Jul 2005 13:57:42 -0700, "Joel Reymont" <······@gmail.com> wrote:
> What is the meaning of the initial bindings bit in the following
> chunk code from Portable AllegroServe?
>
> ; create accept thread
> (setf (wserver-accept-thread *wserver*)
> (mp:process-run-function
> (list :name (format nil "aserve-accept-~d" (incf *thread-index*))
> :initial-bindings
> `((*wserver* . ',*wserver*)
> #+ignore (*debug-io* . ',(wserver-terminal-io *wserver*))
> ,@excl:*cl-default-special-bindings*))
> #'http-accept-thread)))
The CL cookbook chapter about threads (by Nick Levine), although
LW-specific, explains this quite nicely:
<http://cl-cookbook.sourceforge.net/process.html#state>
Cheers,
Edi.
--
Lisp is not dead, it just smells funny.
Real email: (replace (subseq ·········@agharta.de" 5) "edi")