[trivial-timeout-devel] clozure cl doesn't recognize dynamic variables
Milan Jovanovic
milanj at gmail.com
Thu Apr 7 18:17:59 UTC 2011
Code enclosed with WITH-TIMEOUT on CCL runs in separate thread and
this behavior is correct and documented (regarding threads and dynamic
environment), SBCL threads and dynamic environment works the same but
WITH-TIMEOUT on SBCL is implemented on top of SBCL timers.
This is probably bug in trivial-timeout context but i don't think
that there is easy&good solution here ...
Milan
On Apr 7, 2011, at 7:10 PM, Eric Schulte wrote:
> Hi,
>
> Using `with-timeout' with Clozure-CL results in the following bug, in
> which the dynamic value of special variables are not recognized inside
> of the `with-timeout' macro.
>
> #+begin_src common-lisp
> (defvar *echo* :default)
>
> (let ((*echo* :special))
> (format t "~&outside echo:~a" *echo*) ;; => outside echo:SPECIAL
> (with-timeout (1)
> (format nil "~&inside echo:~a" *echo*))) ;; => "inside
> echo:DEFAULT"
> #+end_src
>
> Best -- Eric
>
> --
> Eric Schulte
> http://cs.unm.edu/~eschulte/
>
> _______________________________________________
> trivial-timeout-devel mailing list
> trivial-timeout-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/trivial-timeout-devel
More information about the trivial-timeout-devel
mailing list