summaryrefslogtreecommitdiffstats
path: root/win/tclWinInit.c
diff options
context:
space:
mode:
authorvincentdarley <vincentdarley>2003-01-10 15:03:49 (GMT)
committervincentdarley <vincentdarley>2003-01-10 15:03:49 (GMT)
commit73064e4b76a9357a6054724dc8dda93a6fec52e9 (patch)
tree80a34d014f8cf54e0b51b3713808dacf6861b179 /win/tclWinInit.c
parent3bc8130a8799cf76ffd3e03e8de53709e3d1898a (diff)
downloadtcl-73064e4b76a9357a6054724dc8dda93a6fec52e9.zip
tcl-73064e4b76a9357a6054724dc8dda93a6fec52e9.tar.gz
tcl-73064e4b76a9357a6054724dc8dda93a6fec52e9.tar.bz2
WinTcl crash on exit fix
Diffstat (limited to 'win/tclWinInit.c')
-rw-r--r--win/tclWinInit.c14
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);
}
/*