summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-08-02 04:36:39 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-08-02 04:36:39 (GMT)
commit3260faadc49ded6ca1d4aab4db21b5232cc647ff (patch)
tree71d95d6300cb40b5449b18d0b437cb3c6cace6cc
parent6f329a1932ac170449caed077ca7f5596709433c (diff)
parent8a0233faa068ffc578838b1715acb2176e3bcb7a (diff)
downloadtcl-3260faadc49ded6ca1d4aab4db21b5232cc647ff.zip
tcl-3260faadc49ded6ca1d4aab4db21b5232cc647ff.tar.gz
tcl-3260faadc49ded6ca1d4aab4db21b5232cc647ff.tar.bz2
Another Preserve/Release on channels is needed during IO finalization.
-rw-r--r--generic/tclIO.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 7381f4d..c142917 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -626,6 +626,7 @@ TclFinalizeIOSubsystem(void)
if (active) {
+ TclChannelPreserve((Tcl_Channel)chanPtr);
/*
* TIP #398: by default, we no longer set the channel back into
* blocking mode. To restore the old blocking behavior, the
@@ -684,6 +685,7 @@ TclFinalizeIOSubsystem(void)
chanPtr->instanceData = NULL;
SetFlag(statePtr, CHANNEL_DEAD);
}
+ TclChannelRelease((Tcl_Channel)chanPtr);
}
}