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	inter-
       preter

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_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 nest-
       ing 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, 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+14.3.quarterly>

home | help