summaryrefslogtreecommitdiffstats
path: root/generic/tclIOGT.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-11-03 21:04:24 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-11-03 21:04:24 (GMT)
commitd2b69b306e2030f208db084ac07e336293b8db12 (patch)
tree8c3332dff5bedbcd40d1ab43f2676574601e0a52 /generic/tclIOGT.c
parentb14c2f49d2635f8c5b7f5f7e96aafd8a54fabcf2 (diff)
parentdb9946ccc33f61d984372c7f76375248cacde6de (diff)
downloadtcl-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.c20
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);