|
From: | Dmitry Agafonov |
Subject: | Re: [Bayonne-devel] problems with loopable script |
Date: | Fri, 17 Jun 2005 09:18:48 +0400 |
User-agent: | Mozilla Thunderbird 1.0.2 (Windows/20050317) |
David Sugar пишет:
The "pop" command removes one stack level. If you have a ^xxx handler that catches an event, and then reruns the script or does a goto to another script, the stack is unchanged. If you happen to be inside a for-loop, and a ^xxx handler like that is triggered, you have an extra stack frame that is not recovered when the script reloops or you branch. If this happens repeatidly during the call, you will eventually use up the runtime stack (20 entries). The pop command in the ^xxx handler can be used to manually get rid of the extra stack frame. All this happens automatically in ccscript3.
I think this must be placed in FAQ under Q: Why things are goes wrong sometimes during long call
[Prev in Thread] | Current Thread | [Next in Thread] |