summaryrefslogtreecommitdiffstats
path: root/generic/tclIO.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-08-02 04:25:27 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-08-02 04:25:27 (GMT)
commit8a0233faa068ffc578838b1715acb2176e3bcb7a (patch)
treed39273efac06e7d44f617925c7f811671fd95084 /generic/tclIO.c
parent5a669c8fbb45b3321f07482c114152486d0600bf (diff)
downloadtcl-8a0233faa068ffc578838b1715acb2176e3bcb7a.zip
tcl-8a0233faa068ffc578838b1715acb2176e3bcb7a.tar.gz
tcl-8a0233faa068ffc578838b1715acb2176e3bcb7a.tar.bz2
Another Preserve/Release on channels is needed during IO finalization.
Diffstat (limited to 'generic/tclIO.c')
-rw-r--r--generic/tclIO.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/generic/tclIO.c b/generic/tclIO.c
index 57a934b..ed40e0d 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -535,6 +535,8 @@ TclFinalizeIOSubsystem(void)
* for all data to flush out.
*/
+ TclChannelPreserve((Tcl_Channel)chanPtr);
+
(void) Tcl_SetChannelOption(NULL, (Tcl_Channel) chanPtr,
"-blocking", "on");
@@ -586,6 +588,7 @@ TclFinalizeIOSubsystem(void)
chanPtr->instanceData = NULL;
SetFlag(statePtr, CHANNEL_DEAD);
}
+ TclChannelRelease((Tcl_Channel)chanPtr);
}
}