Tcl8.6.10/Tk8.6.10 Documentation > Tcl C API > SetRecLmt
Tcl/Tk Applications | Tcl Commands | Tk Commands | [incr Tcl] Package Commands | SQLite3 Package Commands | TDBC Package Commands | tdbc::mysql Package Commands | tdbc::odbc Package Commands | tdbc::postgres Package Commands | tdbc::sqlite3 Package Commands | Thread Package Commands | Tcl C API | Tk C API | [incr Tcl] Package C API | TDBC Package C API
NAME
Tcl_SetRecursionLimit — set maximum allowable nesting depth in interpreterSYNOPSIS
#include <tcl.h>int
Tcl_SetRecursionLimit(interp, depth)
ARGUMENTS
- Tcl_Interp *interp (in)
- Interpreter whose recursion limit is to be set. Must be greater than zero.
- int depth (in)
- New limit for nested calls to Tcl_Eval for interp.
DESCRIPTION
At any given time Tcl enforces a limit on the number of recursive calls that may be active for Tcl_Eval and related procedures such as Tcl_GlobalEval. Any call to Tcl_Eval that exceeds this depth is aborted with an error. By default the recursion limit is 1000.Tcl_SetRecursionLimit may be used to change the maximum allowable nesting depth for an interpreter. The depth argument specifies a new limit for interp, and Tcl_SetRecursionLimit returns the old limit. To read out the old limit without modifying it, invoke Tcl_SetRecursionLimit with depth equal to 0.
The Tcl_SetRecursionLimit only sets the size of the Tcl call stack: it cannot by itself prevent stack overflows on the C stack being used by the application. If your machine has a limit on the size of the C stack, you may get stack overflows before reaching the limit set by Tcl_SetRecursionLimit. If this happens, see if there is a mechanism in your system for increasing the maximum size of the C stack.
KEYWORDS
nesting depth, recursionCopyright © 1989-1993 The Regents of the University of California.
Copyright © 1994-1996 Sun Microsystems, Inc.
Copyright © 1994-1996 Sun Microsystems, Inc.