diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp index 4d0565e6e8f7514aca20b62c5ad44c4b043567a4..4532196d37f7f1431af5ddbaa6d9c9d6f46395ad 100644 --- a/uiop/run-program.lisp +++ b/uiop/run-program.lisp @@ -573,7 +573,9 @@ It returns a process-info plist with possible keys: #+(or cmu scl) (ext:process-wait process) #+sbcl (sb-ext:process-wait process) ;; 2- extract result - #+allegro (sys:reap-os-subprocess :pid process :wait t) + #+allegro (multiple-value-bind (exit-code pid signal) + (sys:reap-os-subprocess :pid process :wait t) + (or signal exit-code)) #+clozure (nth-value 1 (ccl:external-process-status process)) #+(or cmu scl) (ext:process-exit-code process) #+(or clasp ecl) (nth-value 1 (ext:external-process-wait process t))