summaryrefslogtreecommitdiffstats
path: root/generic/tclObj.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2005-08-03 22:25:11 (GMT)
committerdgp <dgp@users.sourceforge.net>2005-08-03 22:25:11 (GMT)
commiteb0feb979757670c7509380a53ba1af03cb44666 (patch)
treed3d346d9696c2ed7102776449429926b3ed1172b /generic/tclObj.c
parent68517f66103e7b5b1f60f0abd4259b084b0e43b6 (diff)
downloadtcl-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.c23
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();
}
/*