summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2011-08-23 16:31:11 (GMT)
committerdgp <dgp@users.sourceforge.net>2011-08-23 16:31:11 (GMT)
commit7b6e23a91afe6e1644253d45327605fb2016677f (patch)
treea954994fdbced0949c7fd0fdb062d9093bd77e05 /generic
parent8d4430b56c8e8f6fa179f64cb5cf4e8c9b9d37d7 (diff)
downloadtcl-7b6e23a91afe6e1644253d45327605fb2016677f.zip
tcl-7b6e23a91afe6e1644253d45327605fb2016677f.tar.gz
tcl-7b6e23a91afe6e1644253d45327605fb2016677f.tar.bz2
3396948 Leak of ReflectedChannelMap.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclIORChan.c7
1 files changed, 3 insertions, 4 deletions
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