summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpooryorick <com.digitalsmarties@pooryorick.com>2019-04-24 04:04:46 (GMT)
committerpooryorick <com.digitalsmarties@pooryorick.com>2019-04-24 04:04:46 (GMT)
commita0465a4be2fa1aa32512bfe1671d7bd50754031a (patch)
treed92db926f2b2b1a33da99a99599ab19c60c430b9
parent2a04ff4dd5c087cfb03656d828ed02be8ddac3d8 (diff)
downloadtcl-a0465a4be2fa1aa32512bfe1671d7bd50754031a.zip
tcl-a0465a4be2fa1aa32512bfe1671d7bd50754031a.tar.gz
tcl-a0465a4be2fa1aa32512bfe1671d7bd50754031a.tar.bz2
Add missed timer cleanup in tclIORChan.c/ReflectClose.
-rw-r--r--generic/tclIORChan.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/generic/tclIORChan.c b/generic/tclIORChan.c
index 477452b..cebc33f 100644
--- a/generic/tclIORChan.c
+++ b/generic/tclIORChan.c
@@ -1276,6 +1276,12 @@ ReflectClose(
ckfree(tctPtr);
((Channel *)rcPtr->chan)->typePtr = NULL;
}
+ if (rcPtr->readTimer != NULL) {
+ Tcl_DeleteTimerHandler(rcPtr->readTimer);
+ }
+ if (rcPtr->writeTimer != NULL) {
+ Tcl_DeleteTimerHandler(rcPtr->writeTimer);
+ }
Tcl_EventuallyFree(rcPtr, (Tcl_FreeProc *) FreeReflectedChannel);
return (result == TCL_OK) ? EOK : EINVAL;
}