diff options
author | vasiljevic <zv@archiware.com> | 2004-07-19 19:23:02 (GMT) |
---|---|---|
committer | vasiljevic <zv@archiware.com> | 2004-07-19 19:23:02 (GMT) |
commit | 48736811b83b5c70f8e77e05cf69ab9ae173bb5d (patch) | |
tree | a3a134598c9acd3e0761b5c99b3f979dbc17b839 | |
parent | d03d0ed2481529c1670ed26cee493f9c6abffb40 (diff) | |
download | tcl-48736811b83b5c70f8e77e05cf69ab9ae173bb5d.zip tcl-48736811b83b5c70f8e77e05cf69ab9ae173bb5d.tar.gz tcl-48736811b83b5c70f8e77e05cf69ab9ae173bb5d.tar.bz2 |
Redefined MASTER_LOCK to call TclpMasterLock for the sake of Tcl API
users never creating interpreters.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | win/tclWinThrd.c | 10 |
2 files changed, 11 insertions, 4 deletions
@@ -1,3 +1,8 @@ +2004-07-19 Zoran Vasiljevic <vasiljevic@users.sf.net> + + * win/tclwinThrd.c: redefined MASTER_LOCK to call + TclpMasterLock. Fixes Bug #987967 + 2004-07-16 Andreas Kupries <andreask@activestate.com> * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Corrected a typo in the diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c index f7fe507..4f0caac 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.24.2.6 2004/06/22 11:55:36 vasiljevic Exp $ + * RCS: @(#) $Id: tclWinThrd.c,v 1.24.2.7 2004/07/19 19:23:03 vasiljevic Exp $ */ #include "tclWinInt.h" @@ -25,8 +25,9 @@ static CRITICAL_SECTION masterLock; static int init = 0; -#define MASTER_LOCK EnterCriticalSection(&masterLock) -#define MASTER_UNLOCK LeaveCriticalSection(&masterLock) +#define MASTER_LOCK TclpMasterLock() +#define MASTER_UNLOCK TclpMasterUnlock() + /* * This is the master lock used to serialize initialization and finalization @@ -427,13 +428,14 @@ TclFinalizeLock () { MASTER_LOCK; DeleteCriticalSection(&joinLock); + /* Destroy the critical section that we are holding! */ DeleteCriticalSection(&masterLock); init = 0; #ifdef TCL_THREADS DeleteCriticalSection(&allocLock); allocOnce = 0; #endif - /* Destroy the critical section that we are holding. */ + /* Destroy the critical section that we are holding! */ DeleteCriticalSection(&initLock); } |