DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Tcl_SetRecursionLimit(3tcl)





Tcl_SetRecursionLimit(3Tcl Library ProcedureTcl_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_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 argu-
     ment   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 over-
     flows    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                     Last change: 7.0                        1


Man(1) output converted with man2html