diff options
author | dgp <dgp@users.sourceforge.net> | 2015-04-29 16:34:33 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2015-04-29 16:34:33 (GMT) |
commit | 72ccb73ffa73cf07c0afe8e3a54a888b44304f09 (patch) | |
tree | 2a00087cfc841cf7de9d6fa89b6b11526bdd9afc /generic | |
parent | 55607ae1400b2c431c900d29ac3a0d84871e1c3d (diff) | |
download | tcl-72ccb73ffa73cf07c0afe8e3a54a888b44304f09.zip tcl-72ccb73ffa73cf07c0afe8e3a54a888b44304f09.tar.gz tcl-72ccb73ffa73cf07c0afe8e3a54a888b44304f09.tar.bz2 |
[894da183c8] Fix and test for bug at the point it was introduced.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclIO.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 4e325ba..10fc377 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -2516,6 +2516,7 @@ FlushChannel( * queue. */ +start: if (((statePtr->curOutPtr != NULL) && IsBufferFull(statePtr->curOutPtr)) || (GotFlag(statePtr, BUFFER_READY) && @@ -2701,6 +2702,8 @@ FlushChannel( (chanPtr->typePtr->watchProc)(chanPtr->instanceData, statePtr->interestMask); } + } else if (statePtr->curOutPtr && BytesLeft(statePtr->curOutPtr)) { + goto start; } /* |