Tcl Source Code

Artifact [2462d3c507]
Login

Artifact 2462d3c5072bdf6440564577fb214cee1d5f4d0a:

Attachment "tclmasterunlock-651139.diff" to ticket [651139ffff] added by hobbs 2002-12-10 11:16:06.
Index: ChangeLog
===================================================================
RCS file: /cvsroot/tcl/tcl/ChangeLog,v
retrieving revision 1.226.2.160
diff -u -r1.226.2.160 ChangeLog
--- ChangeLog	28 Oct 2002 21:12:03 -0000	1.226.2.160
+++ ChangeLog	10 Dec 2002 04:11:37 -0000
@@ -1,3 +1,9 @@
+2002-12-09  Jeff Hobbs  <[email protected]>
+
+	* 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  <[email protected]>
 
 	* library/dde1.1/pkgIndex.tcl:
Index: win/tclWinThrd.c
===================================================================
RCS file: /cvsroot/tcl/tcl/win/tclWinThrd.c,v
retrieving revision 1.8.2.2
diff -u -r1.8.2.2 tclWinThrd.c
--- win/tclWinThrd.c	15 Oct 2002 19:38:20 -0000	1.8.2.2
+++ win/tclWinThrd.c	10 Dec 2002 04:11:37 -0000
@@ -293,7 +293,29 @@
     }
     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);
+}
 
 /*
  *----------------------------------------------------------------------
@@ -327,30 +349,6 @@
 
 
 #ifdef TCL_THREADS
-/*
- *----------------------------------------------------------------------
- *
- * 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);
-}
-
-
 /*
  *----------------------------------------------------------------------
  *
Index: generic/tclThread.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclThread.c,v
retrieving revision 1.5
diff -u -r1.5 tclThread.c
--- generic/tclThread.c	5 Apr 2000 00:42:20 -0000	1.5
+++ generic/tclThread.c	10 Dec 2002 04:11:37 -0000
@@ -417,9 +417,7 @@
 	}
 #endif
     }
-#ifdef TCL_THREADS
     TclpMasterUnlock();
-#endif
 }
 
 /*