diff options
author | dgp <dgp@users.sourceforge.net> | 2005-08-03 22:25:11 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2005-08-03 22:25:11 (GMT) |
commit | eb0feb979757670c7509380a53ba1af03cb44666 (patch) | |
tree | d3d346d9696c2ed7102776449429926b3ed1172b /generic/tclObj.c | |
parent | 68517f66103e7b5b1f60f0abd4259b084b0e43b6 (diff) | |
download | tcl-eb0feb979757670c7509380a53ba1af03cb44666.zip tcl-eb0feb979757670c7509380a53ba1af03cb44666.tar.gz tcl-eb0feb979757670c7509380a53ba1af03cb44666.tar.bz2 |
* generic/tclCompExpr.c: Untangled some dependencies in the
* generic/tclEvent.c: order of finalization routines.
* generic/tclInt.h: [Bug 1251399]
* generic/tclObj.c:
Diffstat (limited to 'generic/tclObj.c')
-rw-r--r-- | generic/tclObj.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/generic/tclObj.c b/generic/tclObj.c index 3271811..8a58b7c 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -12,12 +12,11 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclObj.c,v 1.88 2005/07/17 21:17:44 dkf Exp $ + * RCS: @(#) $Id: tclObj.c,v 1.89 2005/08/03 22:25:11 dgp Exp $ */ #include "tclInt.h" #include "tommath.h" -#include "tclCompile.h" #include <float.h> /* @@ -405,23 +404,22 @@ TclInitObjSubsystem() /* *---------------------------------------------------------------------- * - * TclFinalizeCompExecEnv -- + * TclFinalizeObjects -- * - * This procedure is called by Tcl_Finalize to clean up the Tcl - * compilation and execution environment so it can later be properly - * reinitialized. + * This procedure is called by Tcl_Finalize to clean up all + * registered Tcl_ObjType's and to reset the tclFreeObjList. * * Results: * None. * * Side effects: - * Cleans up the compilation and execution environment + * None. * *---------------------------------------------------------------------- */ void -TclFinalizeCompExecEnv() +TclFinalizeObjects() { Tcl_MutexLock(&tableMutex); if (typeTableInitialized) { @@ -429,12 +427,15 @@ TclFinalizeCompExecEnv() typeTableInitialized = 0; } Tcl_MutexUnlock(&tableMutex); + + /* + * All we do here is reset the head pointer of the linked list of + * free Tcl_Obj's to NULL; the memory finalization will take care + * of releasing memory for us. + */ Tcl_MutexLock(&tclObjMutex); tclFreeObjList = NULL; Tcl_MutexUnlock(&tclObjMutex); - - TclFinalizeCompilation(); - TclFinalizeExecution(); } /* |