diff options
author | dgp <dgp@users.sourceforge.net> | 2011-08-29 14:16:07 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2011-08-29 14:16:07 (GMT) |
commit | d65bb6e67d734ac2958cf3ff427488bb8cf04ab8 (patch) | |
tree | da925cb1b4ea0ac12a5e242ffff01b71df31ec7a | |
parent | cb7ed495368dc8bb18338cc748f6e408abf13b1e (diff) | |
download | tcl-d65bb6e67d734ac2958cf3ff427488bb8cf04ab8.zip tcl-d65bb6e67d734ac2958cf3ff427488bb8cf04ab8.tar.gz tcl-d65bb6e67d734ac2958cf3ff427488bb8cf04ab8.tar.bz2 |
Leak of ReflectedTransformMap.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | generic/tclIORTrans.c | 7 |
2 files changed, 7 insertions, 4 deletions
@@ -1,3 +1,7 @@ +2011-08-29 Don Porter <dgp@users.sourceforge.net> + + * generic/tclIORTrans.c: Leak of ReflectedTransformMap. + 2011-08-27 Don Porter <dgp@users.sourceforge.net> * generic/tclStringObj.c: [RFE 3396731] Revise the [string reverse] diff --git a/generic/tclIORTrans.c b/generic/tclIORTrans.c index 4806690..fa973c7 100644 --- a/generic/tclIORTrans.c +++ b/generic/tclIORTrans.c @@ -2191,6 +2191,7 @@ DeleteReflectedTransformMap( Tcl_ConditionNotify(&resultPtr->done); } + Tcl_MutexUnlock(&rtForwardMutex); /* * Get the map of all channels handled by the current thread. This is a @@ -2215,8 +2216,6 @@ DeleteReflectedTransformMap( Tcl_DeleteHashEntry(hPtr); } - - Tcl_MutexUnlock(&rtForwardMutex); #endif } @@ -2323,6 +2322,7 @@ DeleteThreadReflectedTransformMap( Tcl_ConditionNotify(&resultPtr->done); } + Tcl_MutexUnlock(&rtForwardMutex); /* * Get the map of all channels handled by the current thread. This is a @@ -2339,8 +2339,7 @@ DeleteThreadReflectedTransformMap( rtPtr->interp = NULL; Tcl_DeleteHashEntry(hPtr); } - - Tcl_MutexUnlock(&rtForwardMutex); + ckfree(rtmPtr); } static void |