summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
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)
commitf54edc88cf77d0730beab7375ae4e3f4c3e87585 (patch)
tree3b14c0dd48783a9e8f3d6f6abaacb75d49e64d52 /generic/tclIO.c
parent04fbce15ca31469ea16a9969a13f06d384454d30 (diff)
downloadtcl-f54edc88cf77d0730beab7375ae4e3f4c3e87585.zip
tcl-f54edc88cf77d0730beab7375ae4e3f4c3e87585.tar.gz
tcl-f54edc88cf77d0730beab7375ae4e3f4c3e87585.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!
Diffstat (limited to 'generic/tclIO.c')
-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.