Re: suggestion: recursive calls

From: Date: Thu, 04 Sep 2003 11:15:34 +0000
Subject: Re: suggestion: recursive calls
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-161639@lists.php.net to get a copy of this message
Hi Am Don, 2003-09-04 um 12.40 schrieb Ronald van Raaphorst: > I normally program in clarion (www.softvelocity.com) and an infinite > recursive call will cause a heap overflow... > > As I only got a "This page cannot be displayed" page, an error must have > occurred, but it's not displayed... A computer cannot decide when a recursion is to deep. Imagine traversing a realy big tree. There a recursion can get realy deep. I don't know about the internals of php. But as it is an interpreter language, I would say that all variables or even the parsing tree are located on the heap. So this heap will probably be quite big! Thus, to produce a heap overflow will take a rather long time. (Correct me if I am wrong with my tought) A workaround could be that you have a counter (static variable!) in your recursion procedure or methode respectively. You increment this counter on every entry into the procedure and compare it to a limit that _you_ specifiy. -- Cheers! Marco > At first I thought I had lost contact with the site, but then, after a lot > of tracing, I found the source of the error. > > Ronald > > > > "Marek Kilimajer" <kilimajer@webglobe.sk> schreef in bericht > news:3F57156B.9070902@webglobe.sk... > > I don't think it is even possible, if the recursive calls don't seem > > infinite to inteligent human being, how should a stupid computer program > > find out. > > > > Ronald van Raaphorst wrote: > > > > > Hi all, > > > > > > Not a real bug, but a suggestion: > > > It would be nice if inifite recursive calls would somehow give an error. > > > I spend quite some time to find the error in my php script. > > > > > > Ronald > > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php >

« previous php.general (#161639) next »