diff options
Diffstat (limited to 'win')
-rw-r--r-- | win/Makefile.in | 15 | ||||
-rw-r--r-- | win/tclWinChan.c | 4 | ||||
-rw-r--r-- | win/tclWinThrd.c | 30 |
3 files changed, 26 insertions, 23 deletions
diff --git a/win/Makefile.in b/win/Makefile.in index 9ef0363..80d8f93 100644 --- a/win/Makefile.in +++ b/win/Makefile.in @@ -5,7 +5,7 @@ # "autoconf" program (constructs like "@foo@" will get replaced in the # actual Makefile. # -# RCS: @(#) $Id: Makefile.in,v 1.31 2000/04/18 23:26:45 redman Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.32 2000/04/20 01:30:20 hobbs Exp $ VERSION = @TCL_VERSION@ @@ -511,14 +511,17 @@ depend: Makefile: Makefile.in ./config.status -clean: - $(RM) *.lib *.exp *.dll *.${OBJEXT} *~ \#* TAGS a.out - $(RM) *.hlp *.cnt *.GID *.rtf - $(RM) $(TCLSH) $(TCLTEST) $(CAT32) man2tcl.exe +cleanhelp: + $(RM) *.hlp *.cnt *.GID *.rtf man2tcl.exe + +clean: cleanhelp + $(RM) *.lib *.exp *.dll *.res *.${OBJEXT} *~ \#* TAGS a.out + $(RM) $(TCLSH) $(TCLTEST) $(CAT32) $(RM) *.pch *.ilk *.pdb distclean: clean - $(RM) Makefile config.status config.cache config.log tclConfig.sh + $(RM) Makefile config.status config.cache config.log tclConfig.sh \ + tcl.hpj # # Regenerate the stubs files. diff --git a/win/tclWinChan.c b/win/tclWinChan.c index 28d7b51..70bf804 100644 --- a/win/tclWinChan.c +++ b/win/tclWinChan.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: tclWinChan.c,v 1.9 1999/12/09 14:44:10 hobbs Exp $ + * RCS: @(#) $Id: tclWinChan.c,v 1.10 2000/04/20 01:30:20 hobbs Exp $ */ #include "tclWinInt.h" @@ -762,7 +762,7 @@ TclpOpenFileChannel(interp, fileName, modeString, permissions) } TclWinConvertError(err); if (interp != (Tcl_Interp *) NULL) { - Tcl_AppendResult(interp, "couldn't open \"", fileName, "\": ",
+ Tcl_AppendResult(interp, "couldn't open \"", fileName, "\": ", Tcl_PosixError(interp), (char *) NULL); } Tcl_DStringFree(&buffer); diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c index e3227b1..8fe2596 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.7 2000/04/17 20:32:26 welch Exp $ + * RCS: @(#) $Id: tclWinThrd.c,v 1.8 2000/04/20 01:30:20 hobbs Exp $ */ #include "tclWinInt.h" @@ -42,7 +42,7 @@ static CRITICAL_SECTION initLock; */ static CRITICAL_SECTION allocLock; -static Tcl_Mutex allocLockPtr = (Tcl_Mutex) &allocLock;
+static Tcl_Mutex allocLockPtr = (Tcl_Mutex) &allocLock; /* * Condition variables are implemented with a combination of a @@ -203,17 +203,17 @@ Tcl_GetCurrentThread() void TclpInitLock() { - if (!init) {
- /*
- * There is a fundamental race here that is solved by creating
- * the first Tcl interpreter in a single threaded environment.
- * Once the interpreter has been created, it is safe to create
- * more threads that create interpreters in parallel.
- */
- init = 1;
- InitializeCriticalSection(&initLock);
- InitializeCriticalSection(&masterLock);
- }
+ if (!init) { + /* + * There is a fundamental race here that is solved by creating + * the first Tcl interpreter in a single threaded environment. + * Once the interpreter has been created, it is safe to create + * more threads that create interpreters in parallel. + */ + init = 1; + InitializeCriticalSection(&initLock); + InitializeCriticalSection(&masterLock); + } EnterCriticalSection(&initLock); } @@ -302,8 +302,8 @@ TclpMasterLock() Tcl_Mutex * Tcl_GetAllocMutex() { -#ifdef TCL_THREADS
- InitializeCriticalSection(&allocLock);
+#ifdef TCL_THREADS + InitializeCriticalSection(&allocLock); return &allocLockPtr; #else return NULL; |