diff options
author | dgp <dgp@users.sourceforge.net> | 2014-05-08 16:03:50 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2014-05-08 16:03:50 (GMT) |
commit | 4f9f25fc55b73b0eb82e118bb35b6e41ce173a27 (patch) | |
tree | 3b14c0dd48783a9e8f3d6f6abaacb75d49e64d52 | |
parent | 882794a48ef4c92e617a0c6bec02c14ec64d63cf (diff) | |
download | tcl-4f9f25fc55b73b0eb82e118bb35b6e41ce173a27.zip tcl-4f9f25fc55b73b0eb82e118bb35b6e41ce173a27.tar.gz tcl-4f9f25fc55b73b0eb82e118bb35b6e41ce173a27.tar.bz2 |
Fix the panic in iogt-2.5.
Back in 2011, Bugs 3384654 and 3393276 first noticed troubles with
ChannelBuffer sharing, but the magnitude of the problem wasn't truly
grasped. A fix was applied that turned out to be more of a band-aid
workaround. Now that the real fix is in place, the band-aid is actually
preventing it working properly in thie case. Rip it off!
-rw-r--r-- | generic/tclIO.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c index 678dc4b..8dd9218 100644 --- a/generic/tclIO.c +++ b/generic/tclIO.c @@ -2312,7 +2312,7 @@ PreserveChannelBuffer( ChannelBuffer *bufPtr) { if (bufPtr->refCount == 0) { - Tcl_Panic("Reuse of ChannelBuffer!"); + Tcl_Panic("Reuse of ChannelBuffer! %p", bufPtr); } bufPtr->refCount++; } @@ -2702,9 +2702,7 @@ FlushChannel( wroteSome = 1; } - if (!IsBufferEmpty(bufPtr)) { - bufPtr->nextRemoved += written; - } + bufPtr->nextRemoved += written; /* * If this buffer is now empty, recycle it. |