diff options
| author | pooryorick <com.digitalsmarties@pooryorick.com> | 2019-04-24 04:04:46 (GMT) |
|---|---|---|
| committer | pooryorick <com.digitalsmarties@pooryorick.com> | 2019-04-24 04:04:46 (GMT) |
| commit | a0465a4be2fa1aa32512bfe1671d7bd50754031a (patch) | |
| tree | d92db926f2b2b1a33da99a99599ab19c60c430b9 | |
| parent | 2a04ff4dd5c087cfb03656d828ed02be8ddac3d8 (diff) | |
| download | tcl-a0465a4be2fa1aa32512bfe1671d7bd50754031a.zip tcl-a0465a4be2fa1aa32512bfe1671d7bd50754031a.tar.gz tcl-a0465a4be2fa1aa32512bfe1671d7bd50754031a.tar.bz2 | |
Add missed timer cleanup in tclIORChan.c/ReflectClose.
| -rw-r--r-- | generic/tclIORChan.c | 6 |
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; } |
