[trivial-timeout-devel] CCL/LW multiple values return fix

Milan Jovanovic milanj at gmail.com
Sat Mar 14 14:52:28 UTC 2009


On CCL and LW when timeout is specified and form returns more then one value
only one is returned

CL-USER> (trivial-timeout:with-timeout (1)
           (values 1 2 3))
1
CL-USER>


--- with-timeout-orig.lisp 2009-03-14 15:45:54.000000000 +0100
+++ with-timeout.lisp   2009-03-14 15:47:33.000000000 +0100
@@ -81,7 +81,7 @@ or is interrupted."
       (,process (ccl:process-run-function
            ,checker-process
            (lambda ()
-       (setf ,result (progn (,doit-symbol)))))))
+       (setf ,result (multiple-value-list (,doit-symbol)))))))
        (ccl:process-wait-with-timeout
   ,waiting-process
   (* ,seconds-symbol #+(or openmcl ccl)
@@ -91,7 +91,7 @@ 


More information about the trivial-timeout-devel mailing list