diff options
author | hobbs <hobbs> | 2003-01-25 03:12:00 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2003-01-25 03:12:00 (GMT) |
commit | f9b9d749cefde03a0e20c3fe82fd51cb3298e0f0 (patch) | |
tree | c70c5420d1b467aa8eba5dfddd089b873ab3172d /generic/tclEvent.c | |
parent | 1e3b29791372232d82e4b6b3e25f78c30ada8fd1 (diff) | |
download | tcl-f9b9d749cefde03a0e20c3fe82fd51cb3298e0f0.zip tcl-f9b9d749cefde03a0e20c3fe82fd51cb3298e0f0.tar.gz tcl-f9b9d749cefde03a0e20c3fe82fd51cb3298e0f0.tar.bz2 |
* generic/tclEvent.c (Tcl_Finalize): revert finalize change on
2002-12-04 to correct the issue with extensions that have TSD
needing to finalize that before they are unloaded. This issue
needs further clarification.
Diffstat (limited to 'generic/tclEvent.c')
-rw-r--r-- | generic/tclEvent.c | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 28b3489..f56c61d 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.25 2002/12/04 13:09:23 vincentdarley Exp $ + * RCS: @(#) $Id: tclEvent.c,v 1.26 2003/01/25 03:12:01 hobbs Exp $ */ #include "tclInt.h" @@ -812,16 +812,6 @@ 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 @@ -853,6 +843,24 @@ Tcl_Finalize() TclFinalizeSynchronization(); /* + * FIX FIX FIX: + * There is a conflict here between what apps need when for + * finalization. There is the encoding note below that + * relates to tclkits, but there is the clear problem in a + * standard threaded build that you must finalize the sync + * objects before the filesystem to handle tsdPtr's in + * extensions (example: dde). -- hobbs + * + * 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(); + + /* * There shouldn't be any malloc'ed memory after this. */ |