diff options
author | dgp <dgp@users.sourceforge.net> | 2014-11-03 21:04:24 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2014-11-03 21:04:24 (GMT) |
commit | d2b69b306e2030f208db084ac07e336293b8db12 (patch) | |
tree | 8c3332dff5bedbcd40d1ab43f2676574601e0a52 /generic/tclIOGT.c | |
parent | b14c2f49d2635f8c5b7f5f7e96aafd8a54fabcf2 (diff) | |
parent | db9946ccc33f61d984372c7f76375248cacde6de (diff) | |
download | tcl-d2b69b306e2030f208db084ac07e336293b8db12.zip tcl-d2b69b306e2030f208db084ac07e336293b8db12.tar.gz tcl-d2b69b306e2030f208db084ac07e336293b8db12.tar.bz2 |
Same patch re-enabling read after EOF, but here applied to 8.6.
Likely additional changes needed in the other channel transforms new in 8.6.
Diffstat (limited to 'generic/tclIOGT.c')
-rw-r--r-- | generic/tclIOGT.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/generic/tclIOGT.c b/generic/tclIOGT.c index 9c4347d..ca66d4d 100644 --- a/generic/tclIOGT.c +++ b/generic/tclIOGT.c @@ -677,6 +677,18 @@ TransformInputProc( break; } + if (dataPtr->readIsFlushed) { + /* + * Already saw EOF from downChan; don't ask again. + * NOTE: Could move this up to avoid the last maxRead + * execution. Believe this would still be correct behavior, + * but the test suite tests the whole command callback + * sequence, so leave it unchanged for now. + */ + + break; + } + /* * Get bytes from the underlying channel. */ @@ -711,14 +723,6 @@ TransformInputProc( * on the down channel. */ - if (dataPtr->readIsFlushed) { - /* - * Already flushed, nothing to do anymore. - */ - - break; - } - dataPtr->readIsFlushed = 1; ExecuteCallback(dataPtr, NULL, A_FLUSH_READ, NULL, 0, TRANSMIT_IBUF, P_PRESERVE); |