From 7ceeecd23f697fbb0da2a09d1e80d453b71bfcec Mon Sep 17 00:00:00 2001 From: Steve Murphy Date: Wed, 4 Oct 2006 15:49:20 +0000 Subject: [PATCH] In response to bug 7776, a Warning has been added to the doc string for Macro(). git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44337 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_macro.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/app_macro.c b/apps/app_macro.c index 21c2b7c629..ac1d766f3c 100644 --- a/apps/app_macro.c +++ b/apps/app_macro.c @@ -60,7 +60,15 @@ static char *descrip = "If you Goto out of the Macro context, the Macro will terminate and control\n" "will be returned at the location of the Goto.\n" "If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue\n" -"at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n"; +"at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n" +"WARNING: Because of the way Macro is implemented (it executes the priorities\n" +" contained within it via sub-engine), and a fixed per-thread\n" +" memory stack allowance, macros are limited to 7 levels\n" +" of nesting (macro calling macro calling macro, etc.); It\n" +" may be possible that stack-intensive applications in deeply nested macros\n" +" could cause asterisk to crash earlier than this limit. It is advised that\n" +" if you need to deeply nest macro calls, that you use the Gosub application\n" +" (now allows arguments like a Macro) with explict Return() calls instead.\n"; static char *if_descrip = " MacroIf(?macroname_a[|arg1][:macroname_b[|arg1]])\n"