From afaa17239f992c094f9d5c07a7ada3c58e205993 Mon Sep 17 00:00:00 2001 From: vasiljevic Date: Mon, 19 Jul 2004 19:19:07 +0000 Subject: Redefined MASTER_LOCK in win/tclWinThrd.c to call TclpMasterLock for the sake of Tcl API users never creating Tcl interpreters. --- ChangeLog | 5 +++++ win/tclWinThrd.c | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2c109ba..c1bdac8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-07-19 Zoran Vasiljevic + + * win/tclwinThrd.c: redefined MASTER_LOCK to call + TclpMasterLock. Fixes Bug #987967 + 2004-07-17 Vince Darley * generic/tclIOUtil.c: fix to rare 'cd' infinite loop in diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c index 1194fcc..c968a53 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.31 2004/06/22 13:09:01 vasiljevic Exp $ + * RCS: @(#) $Id: tclWinThrd.c,v 1.32 2004/07/19 19:19:07 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,6 +428,7 @@ TclFinalizeLock () { MASTER_LOCK; DeleteCriticalSection(&joinLock); + /* Destroy the critical section that we are holding! */ DeleteCriticalSection(&masterLock); init = 0; #ifdef TCL_THREADS @@ -435,7 +437,7 @@ TclFinalizeLock () allocOnce = 0; } #endif - /* Destroy the critical section that we are holding. */ + /* Destroy the critical section that we are holding! */ DeleteCriticalSection(&initLock); } -- cgit v0.12