Re: cvs: php-src(PHP_5_3) /main SAPI.c SAPI.h main.c php_globals.h /sapi/apache mod_php5.c ZendEngine2 zend_execute.h zend_execute_API.c

From: Date: Sun, 24 May 2009 11:53:14 +0000
Subject: Re: cvs: php-src(PHP_5_3) /main SAPI.c SAPI.h main.c php_globals.h /sapi/apache mod_php5.c ZendEngine2 zend_execute.h zend_execute_API.c
References: 1  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-58154@lists.php.net to get a copy of this message
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 <rasmus@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

« previous php.cvs (#58154) next »