Just to followup on today's threads on both the strange PHP 4.3.10 apache
coredump/sitting and spinning in malloc() bug #31508 and the losing $this
variable bug 31525.

Both, it turns out, were caused because I was returning references inside
parenthetical expression on return(). i.e.

function &somefunc()
{
return( $somevar )
}

In the test case, PHP 5.0.3 with E_STRICT turned on correctly identified
this as an error. However, running the full body of code I have through it
/did not/.

I went through and replaced all my return( xxx ); calls to return xxx; and
retried. Under PHP 5.0.3 it ran like a champ. And to my surprise the PHP
4.3.10 sitting/spinning/coredump problem I had noticed also disappeared (I
had a very specific setup that was reproducing the problem consistently.)

If return( $this ) is not correct for a function returning a reference, it
seems to me both PHP 4.3 and PHP 5 should generate some kind of error
message even without E_STRICT.

thanks again for everyones help,

-- Yermo

----------------------------------------------------------------------------
DTLink Software                                 http://www.dtlink.com
       Desktop Software and Web Applications
----------------------------------------------------------------------------

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

Reply via email to