The patch should be fine.

Etienne Kneuss wrote:
> Hello,
> 
> if I get no objections by the end of the week I'll simply commit that
> patch + test, so 5.3 can move forward.
> 
> Regards,
> 
> On Sun, May 24, 2009 at 1:53 PM, Etienne Kneuss <col...@php.net> wrote:
>> Hello,
>>
>> this patch introduced a bug in 5_3/HEAD, the timeout is no longer
>> checked in the shutdown function:
>>
>> set_time_limit(1);
>> register_shutdown_function("plop");
>> function plop() {
>>    while(1);
>> }
>> plop();
>>
>> doesn't terminate
>>
>>
>> http://patches.colder.ch/php-src/shutdown_timeout-5_3.patch?markup
>>
>> fixes it but I'm not sure it's the right way to do it. Can you please
>> take a look?
>>
>> Thanks.
>>
>> On Tue, Mar 18, 2008 at 11:42 PM, Rasmus Lerdorf <ras...@php.net> wrote:
>>> rasmus          Tue Mar 18 21:42:51 2008 UTC
>>>
>>>  Modified files:              (Branch: PHP_5_3)
>>>    /ZendEngine2        zend_execute.h zend_execute_API.c
>>>    /php-src/main       SAPI.c SAPI.h main.c php_globals.h
>>>    /php-src/sapi/apache        mod_php5.c
>>>  Log:
>>>  exit_on_timeout patch
>>>
>>>  After the sigsetjmp change, this is patch #2 in an effort to get some
>>>  sanity restored to signal handling in PHP.
>>>
>>>  This patch does two things.  First, it makes it possible to reset the
>>>  timeout without resetting the signal handlers.  This is important for
>>>  cases where an extension may have deferred signals in its MINIT in order
>>>  to implement critical sections. It also lays the groundwork for cleaning
>>>  up our signal handling and perhaps eventually implementing our own
>>>  signal deferring mechanism so we can have true critical sections.
>>>
>>>  The second thing this does is to make it possible to terminate the current
>>>  child process (only for Apache1 at the moment) on a timeout.  There are
>>>  a number of extensions that are unhappy about being longjmp'ed out of
>>>  and when this happens on a timeout they are left in an inconsistent state.
>>>  By turning on exit_on_timeout you can now force the process to terminate
>>>  on a timeout which will clean up any hanging locks and/or memory left
>>>  hanging after the longjmp.
>>>
>>>
>>> --
>>> PHP CVS Mailing List (http://www.php.net/)
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>
>>
>> --
>> Etienne Kneuss
>> http://www.colder.ch
>>
>> Men never do evil so completely and cheerfully as
>> when they do it from a religious conviction.
>> -- Pascal
>>
> 
> 
> 


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to