Re: [RFC] Zend Signal Handling
| From: | Johannes Schlüter | Date: | Tue, 08 Jul 2008 12:00:49 +0000 |
| Subject: | Re: [RFC] Zend Signal Handling | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-38848@lists.php.net to get a copy of this message | ||
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
>
>