tcl_setrecursionlimit(3)
NAME
Tcl_SetRecursionLimit - set maximum allowable nesting
depth in interpreter
SYNOPSIS
#include <tcl.h> int Tcl_SetRecursionLimit(interp, depth)
ARGUMENTS
- Tcl_Interp *interp (in) Interpreter whose recur
- sion 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_SetRe
cursionLimit 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, recursion