Hi Lucas,

> I am proposing the following RFC to improve signal handling in the Zend
> Engine:

thanks for the patch, next to platform specific stuff I'm wondering
whether the shutdown order is right:

-       /* 2. Call all possible __destruct() functions */
+       /* 2. Reset max_execution_time (no longer executing php code after 
shutdown functions) */
+       zend_try {
+               zend_unset_timeout(TSRMLS_C);
+       } zend_end_try();
+
+       /* 3. Call all possible __destruct() functions */
        zend_try {
                zend_call_destructors(TSRMLS_C);
        } zend_end_try();
 
-       /* 3. Flush all output buffers */
+       /* 4. Flush all output buffers */
        zend_try {
                
php_end_ob_buffers((zend_bool)(SG(request_info).headers_only?0:1) TSRMLS_CC);
        } zend_end_try();

Destructors can be PHP code, as can some ob callback so I think the order 
should be changed.

johannes

On Sun, 2008-07-06 at 11:56 -0700, Lucas Nealan wrote:
> Hi Internals,
> 
> I am proposing the following RFC to improve signal handling in the Zend
> Engine:
> 
> http://wiki.php.net/rfc/zendsignals
> 
> The purpose of zend internal deferred signal handling is to improve the
> stability of PHP and extensions when running under any forking SAPI.
> Additionally heavy users of APC or other bytecode caches under Apache 1.x
> may also see a performance improvement.
> 
> Please see follow the link above to the complete RFC for details. I look
> forward to hearing feedback.
> 
> -lucas
> 
> 


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

Reply via email to