summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhobbs <hobbs>2002-12-10 04:12:18 (GMT)
committerhobbs <hobbs>2002-12-10 04:12:18 (GMT)
commitd11b31b6383463cd8d0e278d53198495e57d13a5 (patch)
treed4fdb30742408b63e6ddee6fed0c0b111c05a6e9
parent2aa1461241f9bfb92498e017dd9363ab32ac4c9f (diff)
downloadtcl-d11b31b6383463cd8d0e278d53198495e57d13a5.zip
tcl-d11b31b6383463cd8d0e278d53198495e57d13a5.tar.gz
tcl-d11b31b6383463cd8d0e278d53198495e57d13a5.tar.bz2
* win/tclWinThrd.c (TclpMasterUnlock):
* generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must exist and be called unconditional of TCL_THREADS. [Bug #651139]
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclThread.c4
-rw-r--r--win/tclWinThrd.c48
3 files changed, 30 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index 0700a70..c090535 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-12-09 Jeff Hobbs <jeffh@ActiveState.com>
+
+ * win/tclWinThrd.c (TclpMasterUnlock):
+ * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock
+ must exist and be called unconditional of TCL_THREADS. [Bug #651139]
+
2002-10-28 Andreas Kupries <andreask@activestate.com>
* library/dde1.1/pkgIndex.tcl:
diff --git a/generic/tclThread.c b/generic/tclThread.c
index 0f6e2e8..dfbe36c 100644
--- a/generic/tclThread.c
+++ b/generic/tclThread.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclThread.c,v 1.5 2000/04/05 00:42:20 welch Exp $
+ * RCS: @(#) $Id: tclThread.c,v 1.5.2.1 2002/12/10 04:12:19 hobbs Exp $
*/
#include "tclInt.h"
@@ -417,9 +417,7 @@ TclFinalizeThreadData()
}
#endif
}
-#ifdef TCL_THREADS
TclpMasterUnlock();
-#endif
}
/*
diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c
index 6c100f1..4d27f0d 100644
--- a/win/tclWinThrd.c
+++ b/win/tclWinThrd.c
@@ -9,7 +9,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclWinThrd.c,v 1.8.2.2 2002/10/15 19:38:20 hobbs Exp $
+ * RCS: @(#) $Id: tclWinThrd.c,v 1.8.2.3 2002/12/10 04:12:18 hobbs Exp $
*/
#include "tclWinInt.h"
@@ -293,7 +293,29 @@ TclpMasterLock()
}
EnterCriticalSection(&masterLock);
}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * TclpMasterUnlock
+ *
+ * This procedure is used to release a lock that serializes creation
+ * and deletion of synchronization objects.
+ *
+ * Results:
+ * None.
+ *
+ * Side effects:
+ * Release the master mutex.
+ *
+ *----------------------------------------------------------------------
+ */
+void
+TclpMasterUnlock()
+{
+ LeaveCriticalSection(&masterLock);
+}
/*
*----------------------------------------------------------------------
@@ -330,30 +352,6 @@ Tcl_GetAllocMutex()
/*
*----------------------------------------------------------------------
*
- * TclpMasterUnlock
- *
- * This procedure is used to release a lock that serializes creation
- * and deletion of synchronization objects.
- *
- * Results:
- * None.
- *
- * Side effects:
- * Release the master mutex.
- *
- *----------------------------------------------------------------------
- */
-
-void
-TclpMasterUnlock()
-{
- LeaveCriticalSection(&masterLock);
-}
-
-
-/*
- *----------------------------------------------------------------------
- *
* Tcl_MutexLock --
*
* This procedure is invoked to lock a mutex. This is a self