From d3632562d67912da68b57f92d897d5e69c80e1d1 Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Sat, 6 Oct 2012 20:44:25 +0200 Subject: Return #f from WAIT when nohang is given and the process hasn't completed --- scsh-process.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'scsh-process.scm') diff --git a/scsh-process.scm b/scsh-process.scm index b39543f..538c82d 100644 --- a/scsh-process.scm +++ b/scsh-process.scm @@ -108,12 +108,13 @@ (abort exn)) (receive (pid ok? status) (posix-process-wait (and p (scsh-process-pid p)) nohang) - (unless (zero? pid) - (when p - (scsh-process-exit-status-set! p status) - (scsh-process-ok?-set! p ok?)) - (remove-scsh-pending-process! pid)) - (values status ok? pid))))))) + (if (zero? pid) + (begin (when p + (scsh-process-exit-status-set! p status) + (scsh-process-ok?-set! p ok?)) + (remove-scsh-pending-process! pid) + (values status ok? pid)) + (values #f #f #f)))))))) (set-signal-handler! signal/chld -- cgit v1.2.3