summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2011-08-24 07:47:08 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2011-08-24 07:47:08 (GMT)
commit5a7d89b2ed46fc061bc0d913ad7d8b16dcf89f73 (patch)
treef80879ba7ed56fa96325e46a04ddcab6fe53c8f8
parent4c505ca9096dacb15cfb12e6c3d89676ee1b0d1e (diff)
parent2bf96586b6f4eb4b029f4f02bf0aadea39c3bbb2 (diff)
downloadtcl-5a7d89b2ed46fc061bc0d913ad7d8b16dcf89f73.zip
tcl-5a7d89b2ed46fc061bc0d913ad7d8b16dcf89f73.tar.gz
tcl-5a7d89b2ed46fc061bc0d913ad7d8b16dcf89f73.tar.bz2
Merge to feature branch
-rw-r--r--ChangeLog4
-rw-r--r--generic/tclIORChan.c7
2 files changed, 7 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 36cf7f1..bc323fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-08-23 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclIORChan.c: [Bug 3396948] Leak of ReflectedChannelMap.
+
2011-08-23 Jan Nijtmans <nijtmans@users.sf.net>
* generic/tclStringObj.c: [FRQ 3396731] inline string reverse
diff --git a/generic/tclIORChan.c b/generic/tclIORChan.c
index 9ba42ef..846618c 100644
--- a/generic/tclIORChan.c
+++ b/generic/tclIORChan.c
@@ -2516,6 +2516,7 @@ DeleteReflectedChannelMap(
Tcl_ConditionNotify(&resultPtr->done);
}
+ Tcl_MutexUnlock(&rcForwardMutex);
/*
* Get the map of all channels handled by the current thread. This is a
@@ -2541,8 +2542,6 @@ DeleteReflectedChannelMap(
Tcl_DeleteHashEntry(hPtr);
}
-
- Tcl_MutexUnlock(&rcForwardMutex);
#endif
}
@@ -2650,6 +2649,7 @@ DeleteThreadReflectedChannelMap(
Tcl_ConditionNotify(&resultPtr->done);
}
+ Tcl_MutexUnlock(&rcForwardMutex);
/*
* Get the map of all channels handled by the current thread. This is a
@@ -2667,8 +2667,7 @@ DeleteThreadReflectedChannelMap(
rcPtr->interp = NULL;
Tcl_DeleteHashEntry(hPtr);
}
-
- Tcl_MutexUnlock(&rcForwardMutex);
+ ckfree(rcmPtr);
}
static void