diff options
author | vincentdarley <vincentdarley@noemail.net> | 2003-01-10 15:03:49 (GMT) |
---|---|---|
committer | vincentdarley <vincentdarley@noemail.net> | 2003-01-10 15:03:49 (GMT) |
commit | bc7ac0c33c841f7e376d60e1a8553f898caa3629 (patch) | |
tree | 80a34d014f8cf54e0b51b3713808dacf6861b179 /win/tclWinInit.c | |
parent | efa637569ed08b484b46c851470a3f85ec599ed0 (diff) | |
download | tcl-bc7ac0c33c841f7e376d60e1a8553f898caa3629.zip tcl-bc7ac0c33c841f7e376d60e1a8553f898caa3629.tar.gz tcl-bc7ac0c33c841f7e376d60e1a8553f898caa3629.tar.bz2 |
WinTcl crash on exit fix
FossilOrigin-Name: bfd1c3af3d766e815ab656c17d959501b246c393
Diffstat (limited to 'win/tclWinInit.c')
-rw-r--r-- | win/tclWinInit.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/win/tclWinInit.c b/win/tclWinInit.c index bc0c980..186bb89 100644 --- a/win/tclWinInit.c +++ b/win/tclWinInit.c @@ -7,7 +7,7 @@ * Copyright (c) 1998-1999 by Scriptics Corporation. * All rights reserved. * - * RCS: @(#) $Id: tclWinInit.c,v 1.36 2002/12/06 23:22:59 hobbs Exp $ + * RCS: @(#) $Id: tclWinInit.c,v 1.37 2003/01/10 15:03:55 vincentdarley Exp $ */ #include "tclWinInt.h" @@ -465,10 +465,12 @@ ToUtf( /* *--------------------------------------------------------------------------- * - * WinEncodingsCleanup -- + * TclWinFilesystemAndEncodingsCleanup -- * * Reset information to its original state in finalization to - * allow for reinitialization to be possible. + * allow for reinitialization to be possible. This must not + * be called until after the filesystem has been finalised, or + * exit crashes may occur when using virtual filesystems. * * Results: * None. @@ -479,8 +481,8 @@ ToUtf( *--------------------------------------------------------------------------- */ -static void -WinEncodingsCleanup(ClientData clientData) +void +TclWinFilesystemAndEncodingsCleanup() { TclWinResetInterfaces(); libraryPathEncodingFixed = 0; @@ -565,8 +567,6 @@ TclpSetInitialEncodings() encoding = "iso8859-1"; binaryEncoding = Tcl_GetEncoding(NULL, encoding); } - - Tcl_CreateExitHandler(WinEncodingsCleanup, NULL); } /* |