From: Chris Hanson Date: Tue, 12 May 1992 02:43:41 +0000 (+0000) Subject: RUN-SYNCHRONOUS-PROCESS must close the SUBPROCESS-OUTPUT-CHANNEL after X-Git-Tag: 20090517-FFI~9422 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=0b26082e644b530a9356a226fdadd46790f0a2aa;p=mit-scheme.git RUN-SYNCHRONOUS-PROCESS must close the SUBPROCESS-OUTPUT-CHANNEL after all of the input region is written, otherwise the subprocess doesn't know that there is no more data. This was being done in the case where the subprocess generated output, but not otherwise. --- diff --git a/v7/src/edwin/process.scm b/v7/src/edwin/process.scm index 5b1255151..d8a6862b1 100644 --- a/v7/src/edwin/process.scm +++ b/v7/src/edwin/process.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/process.scm,v 1.23 1992/03/24 22:52:02 cph Exp $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/process.scm,v 1.24 1992/05/12 02:43:41 cph Exp $ ;;; ;;; Copyright (c) 1991-92 Massachusetts Institute of Technology ;;; @@ -530,10 +530,12 @@ after the listing is made.)" (loop) status))))))) (begin - (group-write-to-channel (region-group input-region) - (region-start-index input-region) - (region-end-index input-region) - (subprocess-output-channel process)) + (let ((channel (subprocess-output-channel process))) + (group-write-to-channel (region-group input-region) + (region-start-index input-region) + (region-end-index input-region) + channel) + (channel-close channel)) (subprocess-wait process))))))) (begin (channel-close (subprocess-output-channel process))