Thanks, that's all I would ever ask for :)

Ron

"Andi Gutmans" <[EMAIL PROTECTED]> schreef in bericht
news:[EMAIL PROTECTED]
> Hi Ron,
>
> Indeed exception may lead to leaks in certain cases. We do try and cleanup
> as much as possible but the situation you describe is hard to detect. I
> will however put it on our TODO list because this case could possibly be
> improved on.
>
> Andi
>
> At 11:54 AM 8/10/2005 +0200, Ron Korving wrote:
> >You're right, using that file to create a big piece of data was just for
> >demonstration purposes. In my personal case it's XML parsing. The way I
read
> >what you just said is that this is behavior by design. But if I don't
throw
> >Exceptions, memory usage stays constant. Throwing and catching these
> >exceptions are the exception-to-the-rule.
> >
> >Nonetheless, if this is truly by design.. maybe that's something to look
> >into for PHP6.
> >
> >Ron
> >
> >"Marcus Boerger" <[EMAIL PROTECTED]> schreef in bericht
> >news:[EMAIL PROTECTED]
> > > Hello Ron,
> > >
> > > Wednesday, August 10, 2005, 8:47:25 AM, you wrote:
> > >
> > > > Okay Andi, the script in this message is as simple as it gets. I
used a
> > > > syslog file to create a load of data in this case, but of course you
can
> >use
> > > > any (text) file for this.
> > >
> > > > #!/usr/bin/php5
> > > > <?
> > > >   function process()
> > > >   {
> > > >     $data = file("/var/log/syslog.0");
> > >
> > > >     foreach ($data as $line)
> > > >       throw new Exception("error");
> > >
> > > What makes you think the file would be closed. Erm the array deleted?
And
> > > that is your problem you are unnecessarily reading all the file into
an
> > > array. Try using the same with FileObject instead, which should reduce
> > > memory usage a lot:
> > >
> > > foreach(FileObject($file) as $data) throw new Exception("error");
> > >
> > > But of course you only did that to demonstrate the memory problem
which in
> > > fact simply means that we don't do a full stack cleanup like c++ would
do
> > > here (php != c++).
> > >
> > > In php we do the cleanup at script termination. That is also the
reason
> > > why php is not perfectly suitable for console apps especially when it
> >comes
> > > to daemons.
> > >
> > > best regards
> > > marcus
> >
> >--
> >PHP Internals - PHP Runtime Development Mailing List
> >To unsubscribe, visit: http://www.php.net/unsub.php

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to