summaryrefslogtreecommitdiffstats
path: root/generic/tclEvent.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclEvent.c')
-rw-r--r--generic/tclEvent.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c
index 957c5f6..28b3489 100644
--- a/generic/tclEvent.c
+++ b/generic/tclEvent.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclEvent.c,v 1.24 2002/11/07 02:13:36 mdejong Exp $
+ * RCS: @(#) $Id: tclEvent.c,v 1.25 2002/12/04 13:09:23 vincentdarley Exp $
*/
#include "tclInt.h"
@@ -812,6 +812,22 @@ Tcl_Finalize()
TclFinalizeCompExecEnv();
TclFinalizeEnvironment();
+ /*
+ * Finalizing the filesystem must come after anything which
+ * might conceivably interact with the 'Tcl_FS' API. This
+ * will also unload any extensions which have been loaded.
+ * However, it also needs access to the encoding subsystem
+ * during finalization, so that system must still be intact
+ * at this point.
+ */
+ TclFinalizeFilesystem();
+
+ /*
+ * We must be sure the encoding finalization doesn't need
+ * to examine the filesystem in any way. Since it only
+ * needs to clean up internal data structures, this is
+ * fine.
+ */
TclFinalizeEncodingSubsystem();
if (tclExecutableName != NULL) {
@@ -836,13 +852,6 @@ Tcl_Finalize()
TclFinalizeSynchronization();
- /**
- * Finalizing the filesystem must come after anything which
- * might conceivably interact with the 'Tcl_FS' API. This
- * will also unload any extensions which have been loaded.
- */
- TclFinalizeFilesystem();
-
/*
* There shouldn't be any malloc'ed memory after this.
*/