Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Tcl_SetRecursionLimit(3)     Tcl Library Procedures	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 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_GlobalE-
     val.  Any call to Tcl_Eval that exceeds this depth is aborted with  an  er-
     ror.  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 in-
     terp, 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_SetRecursion-
     Limit.  If this happens, see if there is a mechanism in your system for in-
     creasing the maximum size of the C stack.

KEYWORDS
     nesting depth, recursion

Tcl				       7.0		Tcl_SetRecursionLimit(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_SetRecursionLimit.tcl86&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help