Re: [PHP-CVS] 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

2009-05-26 Thread Etienne Kneuss
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)
/ZendEngine2zend_execute.h zend_execute_API.c
/php-src/main   SAPI.c SAPI.h main.c php_globals.h
/php-src/sapi/apachemod_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




-- 
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



Re: [PHP-CVS] 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

2009-05-26 Thread Rasmus Lerdorf
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)
/ZendEngine2zend_execute.h zend_execute_API.c
/php-src/main   SAPI.c SAPI.h main.c php_globals.h
/php-src/sapi/apachemod_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



Re: [PHP-CVS] 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

2009-05-24 Thread Etienne Kneuss
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



Re: [PHP-CVS] 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

2008-03-19 Thread Jani Taskinen


Is it intentional that you don't commit to HEAD at all? Last 3 commits you made 
were only committed to PHP_5_3 branch..


--Jani



Rasmus Lerdorf kirjoitti:

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



Re: [PHP-CVS] 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

2008-03-19 Thread Rasmus Lerdorf
Hold your horses.  The HEAD commit will come once I work out the final 
version of this stuff.


Jani Taskinen wrote:


Is it intentional that you don't commit to HEAD at all? Last 3 commits 
you made were only committed to PHP_5_3 branch..


--Jani



Rasmus Lerdorf kirjoitti:

rasmusTue Mar 18 21:42:51 2008 UTC

  Modified files:  (Branch: PHP_5_3)
/ZendEngine2zend_execute.h zend_execute_API.c 
/php-src/mainSAPI.c SAPI.h main.c php_globals.h 
/php-src/sapi/apachemod_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



Re: [PHP-CVS] 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

2008-03-19 Thread Jani Taskinen

Aye aye, Sir. :)

--Jani

Rasmus Lerdorf kirjoitti:
Hold your horses.  The HEAD commit will come once I work out the final 
version of this stuff.


Jani Taskinen wrote:


Is it intentional that you don't commit to HEAD at all? Last 3 commits 
you made were only committed to PHP_5_3 branch..


--Jani



Rasmus Lerdorf kirjoitti:

rasmusTue Mar 18 21:42:51 2008 UTC

  Modified files:  (Branch: PHP_5_3)
/ZendEngine2zend_execute.h zend_execute_API.c 
/php-src/mainSAPI.c SAPI.h main.c php_globals.h 
/php-src/sapi/apachemod_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