diff options
author | dgp <dgp@users.sourceforge.net> | 2005-08-03 22:23:16 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2005-08-03 22:23:16 (GMT) |
commit | 3a01c00096553941d5e1f1cc1e2048bb9b119376 (patch) | |
tree | 85f6e39a72f6b9fc313e2cf60c7608fcd62b4c01 /generic/tclObj.c | |
parent | c918210ee55ae018cc40f8a8b411feed5af07de4 (diff) | |
download | tcl-3a01c00096553941d5e1f1cc1e2048bb9b119376.zip tcl-3a01c00096553941d5e1f1cc1e2048bb9b119376.tar.gz tcl-3a01c00096553941d5e1f1cc1e2048bb9b119376.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 | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/generic/tclObj.c b/generic/tclObj.c index 3cf3760..494b80e 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.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: tclObj.c,v 1.42.2.10 2005/04/20 16:06:17 dgp Exp $ + * RCS: @(#) $Id: tclObj.c,v 1.42.2.11 2005/08/03 22:23:43 dgp Exp $ */ #include "tclInt.h" @@ -272,23 +272,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) { @@ -296,12 +295,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(); } /* |