summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2004-05-20 13:04:10 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2004-05-20 13:04:10 (GMT)
commitdd73a7d278b7721922e373f9310c04f301fdbcac (patch)
tree32f0081a587e4d9bb0b35b8d472cb716b9364393 /generic/tclBasic.c
parentea59419c25449100febc3fb0ed1f7fee1b9c7e8a (diff)
downloadtcl-dd73a7d278b7721922e373f9310c04f301fdbcac.zip
tcl-dd73a7d278b7721922e373f9310c04f301fdbcac.tar.gz
tcl-dd73a7d278b7721922e373f9310c04f301fdbcac.tar.bz2
Delete limit callbacks properly when the interpreters involved are deleted.
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r--generic/tclBasic.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 3054f98..248f893 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.101 2004/05/16 20:23:01 msofer Exp $
+ * RCS: @(#) $Id: tclBasic.c,v 1.102 2004/05/20 13:04:11 dkf Exp $
*/
#include "tclInt.h"
@@ -984,6 +984,15 @@ DeleteInterpProc(interp)
TclHandleFree(iPtr->handle);
/*
+ * Shut down all limit handler callback scripts that call back
+ * into this interpreter. Then eliminate all limit handlers for
+ * this interpreter.
+ */
+
+ TclDecommissionLimitCallbacks(interp);
+ TclLimitRemoveAllHandlers(interp);
+
+ /*
* Dismantle everything in the global namespace except for the
* "errorInfo" and "errorCode" variables. These remain until the
* namespace is actually destroyed, in case any errors occur.