[PATCH] Apache 1.x sapi timeout name fix
| From: | Lucas Nealan | Date: | Sat, 16 Aug 2008 02:36:01 +0000 |
| Subject: | [PATCH] Apache 1.x sapi timeout name fix | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-39983@lists.php.net to get a copy of this message | ||
Hello,
Apache 1.x SAPI will occasionally timeout with a "Read POST information
timeout" error instead of a "send timeout" error as it should. This will
happen if the alarm timeout occurs in a POST request, at any point after the
post is read (ie. php_execute_script). This is because the
hard_timeout("send") name set within send_php() is overridden by the
hard_timeout("Read POST information") in sapi_apache_read_post() and never
restored.
I walked through the startup calls from the point where timeout is set in
send_php to where the read post timeout is set. It seems highly unlikely
that a timeout should happen in this code, even if it were set to 1. The
patches below will correct the timeout name by moving the
hard_timeout("send") from send_php() to php_apache_sapi_activate(), which is
called just after the post is read.
http://sizzo.org/~screen/patches/php-5.3.0-timer_post.patch
http://sizzo.org/~screen/patches/php-HEAD-timer_post.patch
-lucas