Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Tcl_SetRecursionLimit (3tcl)

Name

Tcl_SetRecursionLimit - preter

Synopsis

#include <tcl.h>

int
Tcl_SetRecursionLimit(interp, depth)

Description

Tcl Library Procedures                             Tcl_SetRecursionLimit(3tcl)



______________________________________________________________________________

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



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tcl-8    |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  http://prdownloads.sourceforge.net/tcl/tcl-
       core8.6.7-src.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tcl                                   7.0
                                                   Tcl_SetRecursionLimit(3tcl)