summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-05-08 16:03:50 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-05-08 16:03:50 (GMT)
commit4f9f25fc55b73b0eb82e118bb35b6e41ce173a27 (patch)
tree3b14c0dd48783a9e8f3d6f6abaacb75d49e64d52
parent882794a48ef4c92e617a0c6bec02c14ec64d63cf (diff)
downloadtcl-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.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.