diff options
| author | dgp@users.sourceforge.net <dgp> | 2014-05-08 16:03:50 (GMT) | 
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2014-05-08 16:03:50 (GMT) | 
| commit | 88c24e1736b221f2fee752f2c37a2403127c08ad (patch) | |
| tree | 3b14c0dd48783a9e8f3d6f6abaacb75d49e64d52 | |
| parent | 38cd1c0c7a7df35e7c8cee5b33580d28a7a43aa9 (diff) | |
| download | tcl-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.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. | 
