diff options
author | mdejong <mdejong> | 2002-11-07 02:13:35 (GMT) |
---|---|---|
committer | mdejong <mdejong> | 2002-11-07 02:13:35 (GMT) |
commit | 3e430e0f904e6835386a38276d1e7db4abe08e01 (patch) | |
tree | f86db515375673b4202dbd6719d7bd881da96117 /win | |
parent | c8da171d49ce9c4601c168ee22fb991d7a0da3b5 (diff) | |
download | tcl-3e430e0f904e6835386a38276d1e7db4abe08e01.zip tcl-3e430e0f904e6835386a38276d1e7db4abe08e01.tar.gz tcl-3e430e0f904e6835386a38276d1e7db4abe08e01.tar.bz2 |
* generic/tclEvent.c (TclInExit, TclInThreadExit):
Split out functionality of TclInExit to make it
clear which one should be called in each situation.
* generic/tclInt.decls: Declare TclInThreadExit.
* generic/tclIntDecls.h: Regen.
* generic/tclStubInit.c: Regen.
* mac/tclMacChan.c (StdIOClose):
* unix/tclUnixChan.c (FileCloseProc):
* win/tclWinChan.c (FileCloseProc):
* win/tclWinConsole.c (ConsoleCloseProc):
* win/tclWinPipe.c (TclpCloseFile):
* win/tclWinSerial.c (SerialCloseProc): Invoke the
new TclInThreadExit method instead of TclInExit.
Diffstat (limited to 'win')
-rw-r--r-- | win/tclWinChan.c | 8 | ||||
-rw-r--r-- | win/tclWinConsole.c | 8 | ||||
-rw-r--r-- | win/tclWinPipe.c | 8 | ||||
-rw-r--r-- | win/tclWinSerial.c | 8 |
4 files changed, 16 insertions, 16 deletions
diff --git a/win/tclWinChan.c b/win/tclWinChan.c index aa156bf..1a4c4ec 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.24 2002/07/08 10:08:58 vincentdarley Exp $ + * RCS: @(#) $Id: tclWinChan.c,v 1.25 2002/11/07 02:13:37 mdejong Exp $ */ #include "tclWinInt.h" @@ -397,11 +397,11 @@ FileCloseProc(instanceData, interp) /* * Don't close the Win32 handle if the handle is a standard channel - * during the exit process. Otherwise, one thread may kill the stdio - * of another. + * during the thread exit process. Otherwise, one thread may kill + * the stdio of another. */ - if (!TclInExit() + if (!TclInThreadExit() || ((GetStdHandle(STD_INPUT_HANDLE) != fileInfoPtr->handle) && (GetStdHandle(STD_OUTPUT_HANDLE) != fileInfoPtr->handle) && (GetStdHandle(STD_ERROR_HANDLE) != fileInfoPtr->handle))) { diff --git a/win/tclWinConsole.c b/win/tclWinConsole.c index e864ab0..230a20e 100644 --- a/win/tclWinConsole.c +++ b/win/tclWinConsole.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: tclWinConsole.c,v 1.8 2002/09/02 19:27:02 hobbs Exp $ + * RCS: @(#) $Id: tclWinConsole.c,v 1.9 2002/11/07 02:13:37 mdejong Exp $ */ #include "tclWinInt.h" @@ -542,11 +542,11 @@ ConsoleCloseProc( /* * Don't close the Win32 handle if the handle is a standard channel - * during the exit process. Otherwise, one thread may kill the stdio - * of another. + * during the thread exit process. Otherwise, one thread may kill + * the stdio of another. */ - if (!TclInExit() + if (!TclInThreadExit() || ((GetStdHandle(STD_INPUT_HANDLE) != consolePtr->handle) && (GetStdHandle(STD_OUTPUT_HANDLE) != consolePtr->handle) && (GetStdHandle(STD_ERROR_HANDLE) != consolePtr->handle))) { diff --git a/win/tclWinPipe.c b/win/tclWinPipe.c index b02bb3b..2134d8d 100644 --- a/win/tclWinPipe.c +++ b/win/tclWinPipe.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: tclWinPipe.c,v 1.25 2002/06/17 20:05:49 andreas_kupries Exp $ + * RCS: @(#) $Id: tclWinPipe.c,v 1.26 2002/11/07 02:13:37 mdejong Exp $ */ #include "tclWinInt.h" @@ -854,11 +854,11 @@ TclpCloseFile( case WIN_FILE: /* * Don't close the Win32 handle if the handle is a standard channel - * during the exit process. Otherwise, one thread may kill the - * stdio of another. + * during the thread exit process. Otherwise, one thread may kill + * the stdio of another. */ - if (!TclInExit() + if (!TclInThreadExit() || ((GetStdHandle(STD_INPUT_HANDLE) != filePtr->handle) && (GetStdHandle(STD_OUTPUT_HANDLE) != filePtr->handle) && (GetStdHandle(STD_ERROR_HANDLE) != filePtr->handle))) { diff --git a/win/tclWinSerial.c b/win/tclWinSerial.c index e5e69fa..a1cdcfd 100644 --- a/win/tclWinSerial.c +++ b/win/tclWinSerial.c @@ -11,7 +11,7 @@ * * Serial functionality implemented by Rolf.Schroedter@dlr.de * - * RCS: @(#) $Id: tclWinSerial.c,v 1.21 2002/07/19 13:59:10 dkf Exp $ + * RCS: @(#) $Id: tclWinSerial.c,v 1.22 2002/11/07 02:13:37 mdejong Exp $ */ #include "tclWinInt.h" @@ -632,11 +632,11 @@ SerialCloseProc( /* * Don't close the Win32 handle if the handle is a standard channel - * during the exit process. Otherwise, one thread may kill the stdio - * of another. + * during the thread exit process. Otherwise, one thread may kill + * the stdio of another. */ - if (!TclInExit() + if (!TclInThreadExit() || ((GetStdHandle(STD_INPUT_HANDLE) != serialPtr->handle) && (GetStdHandle(STD_OUTPUT_HANDLE) != serialPtr->handle) && (GetStdHandle(STD_ERROR_HANDLE) != serialPtr->handle))) { |