diff --git a/scsh/scsh.scm b/scsh/scsh.scm index 22453a6..604a471 100644 --- a/scsh/scsh.scm +++ b/scsh/scsh.scm @@ -1135,6 +1135,14 @@ (if (zero? pid) ;; Child (lambda () ; Do all this outside the WITH-INTERRUPTS. + (if narrow? + (begin + ;; ugly kludge: + ;; the REPL thread is not running any more, + ;; hence unlock its command ports + (release-port-lock (command-input)) + (release-port-lock (command-output)) + (release-port-lock (command-error-output)))) ;; There is no session if parent was started in batch-mode (if (and (session-started?) clear-interactive?) (set-batch-mode?! #t)) ; Children are non-interactive.