Open muyinliu opened 10 years ago
That's curious. I'll take a look.
The source file uses this form to define the platform specific code for platforms that it doesn't know about
(unless (let ((symbol
(find-symbol (symbol-name '#:generate-platform-specific-code)
'#:com.metabang.trivial-timeout)))
(and symbol (fboundp symbol)))
(defun generate-platform-specific-code (seconds-symbol doit-symbol)
(declare (ignore seconds-symbol))
`(,doit-symbol)))
On SBCL, this is working the way I intended when the file is compiled but not when the file is loaded. I'll get a fix out soon.
First time trivial-timeout works fine. But after that, it's so weird! And I try the same code on SBCL 1.1.14.27-df21751, the same result.
I try standalone trivial-timeout(without trivial-shell), it works fine. Is there something wrong in trivial-shell's ASD files? I copy
with-timeout.lisp
from standalone trivial-timeout to replace the on in trivial-shell, and it works fine.The only difference between them is the position of function
build-with-timeout
and macrowith-timeout
, beforegenerate-platform-specific-code
in trivial-timeout and aftergenerate-platform-specific-code
in trivial-shell'swith-timeout.lisp
.