summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2011-08-29 14:16:07 (GMT)
committerdgp <dgp@users.sourceforge.net>2011-08-29 14:16:07 (GMT)
commitd65bb6e67d734ac2958cf3ff427488bb8cf04ab8 (patch)
treeda925cb1b4ea0ac12a5e242ffff01b71df31ec7a
parentcb7ed495368dc8bb18338cc748f6e408abf13b1e (diff)
downloadtcl-d65bb6e67d734ac2958cf3ff427488bb8cf04ab8.zip
tcl-d65bb6e67d734ac2958cf3ff427488bb8cf04ab8.tar.gz
tcl-d65bb6e67d734ac2958cf3ff427488bb8cf04ab8.tar.bz2
Leak of ReflectedTransformMap.
-rw-r--r--ChangeLog4
-rw-r--r--generic/tclIORTrans.c7
2 files changed, 7 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 67572ce..23ee0bf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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