diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2004-07-08 18:46:02 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2004-07-08 18:46:02 (GMT) |
commit | 5f7664fb28c03bce899572a39a9e3b343c223f3a (patch) | |
tree | 83ca945a044386ae90882b24cb30d198aa440f7e /generic/tclBasic.c | |
parent | 2e5d02410d31161822705b1b28f1743b8af402fc (diff) | |
download | tcl-5f7664fb28c03bce899572a39a9e3b343c223f3a.zip tcl-5f7664fb28c03bce899572a39a9e3b343c223f3a.tar.gz tcl-5f7664fb28c03bce899572a39a9e3b343c223f3a.tar.bz2 |
Modified the logic of literal table cleanup at interp deletion time,
insuring that the fix of [Bug 983660] does not have a negative perf
impact.
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r-- | generic/tclBasic.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index aec8a18..042e22b 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.107 2004/07/05 22:41:01 msofer Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.108 2004/07/08 18:46:04 msofer Exp $ */ #include "tclInt.h" @@ -997,12 +997,13 @@ DeleteInterpProc(interp) * Dismantle the namespace here, before we clear the assocData. If any * background errors occur here, they will be deleted below. * - * Dismantle the namespace before freeing the iPtr->handle, to insure - * that non-shared literals are freed properly [Bug 983660]. + * Dismantle the namespace after freeing the iPtr->handle so that each + * bytecode releases its literals without caring to update the literal + * table, as it will be freed later in this function without further use. */ - TclTeardownNamespace(iPtr->globalNsPtr); TclHandleFree(iPtr->handle); + TclTeardownNamespace(iPtr->globalNsPtr); /* * Delete all the hidden commands. |