Hi Moriyoshi,

Moriyoshi Koizumi wrote:
Hi,

I got a bug report on the Japanese PHP user's list that states free()
aborts within the timer signal handler due to reentrance to the
function when max_execution_time takes effect and the signal occurs
within the same libc function. The reporter also states he uses
apache2handler, which doesn't provide block_interruptions nor
unblock_interruptions SAPI handlers in contrast to the apache1
handler.

Whilst I doubt this happens quite frequently because PHP has its own
memory pool and it's far more rare that the libc's allocators get
called than the emalloc() and efree(), this should be addressed
somehow. A proposed fix is attached but note this greatly compromises
overall performance due to excessive system calls.

Isn't this  already covered in a proposal here: 
http://wiki.php.net/rfc/zendsignals?  I believe the last hang-up keeping this 
from getting committed is in the ability to handle this properly and 
efficiently under ZTS builds, I would really like to see this get applied in a 
future PHP release though.

-shire

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

Reply via email to