summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp@users.sourceforge.net <dgp>2014-05-08 16:03:50 (GMT)
committerdgp@users.sourceforge.net <dgp>2014-05-08 16:03:50 (GMT)
commit88c24e1736b221f2fee752f2c37a2403127c08ad (patch)
tree3b14c0dd48783a9e8f3d6f6abaacb75d49e64d52
parent38cd1c0c7a7df35e7c8cee5b33580d28a7a43aa9 (diff)
downloadtcl-88c24e1736b221f2fee752f2c37a2403127c08ad.zip
tcl-88c24e1736b221f2fee752f2c37a2403127c08ad.tar.gz
tcl-88c24e1736b221f2fee752f2c37a2403127c08ad.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.c6
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.