diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/run.scm | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/tests/run.scm b/tests/run.scm index f05d643..7690752 100644 --- a/tests/run.scm +++ b/tests/run.scm @@ -18,9 +18,12 @@          "This is a test"          (run/string* (lambda () (display "This is a test")))) -  ;; We must mask sigchld, because otherwise our (wait #f) will fail -  ;; due to scsh-process' signal handler possibly reaping the child -  ;; before our wait is able to do so. +  ;; Ensure all processes up to here have been reaped +  (handle-exceptions exn (void) (let lp () (when (wait #f) (lp)))) + +  ;; We must mask sigchld, because otherwise our next (wait #f) will +  ;; fail due to scsh-process' signal handler possibly reaping the +  ;; child before our wait is able to do so.    (signal-mask! signal/chld)    (test "wait for next process to exit" | 
