ID: 49868 User updated by: majkl578 at gmail dot com Reported By: majkl578 at gmail dot com -Status: Closed +Status: Open Bug Type: Scripting Engine problem Operating System: * -PHP Version: 5.3, 6 (2009-11-13) +PHP Version: 5.3.1 Assigned To: rasmus New Comment:
I am reopening this bug as it is still present in final release of 5.3.1, but NOT in 5.3.2-dev (php5.3-200911161530). Previous Comments: ------------------------------------------------------------------------ [2009-11-15 00:24:44] [email protected] This bug has been fixed in SVN. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ [2009-11-15 00:24:07] [email protected] Automatic comment from SVN on behalf of rasmus Revision: http://svn.php.net/viewvc/?view=revision&revision=290767 Log: Fix bug #49868 ------------------------------------------------------------------------ [2009-11-15 00:21:31] [email protected] Automatic comment from SVN on behalf of rasmus Revision: http://svn.php.net/viewvc/?view=revision&revision=290766 Log: Fix bug #49868 As far as I can tell this was a copy-paste induced bug when I added the reset_signals flag to zend_set_timeout. ------------------------------------------------------------------------ [2009-11-14 22:48:35] [email protected] The idea behind the code is that during request startup before we hit the zend_execute_scripts() call, the timeout is set to max_input_time if it is defined. max_input_time will be -1 if it has not been defined. Then just before zend_execute_scripts() we have: if (PG(max_input_time) != -1) { #ifdef PHP_WIN32 zend_unset_timeout(TSRMLS_C); #endif zend_set_timeout(INI_INT("max_execution_time")); } So when script execution starts we are using the max_execution_time value. I'll have to follow the logic through a bit more closely. I must have missed something somewhere, but that is the idea behind the code. ------------------------------------------------------------------------ [2009-11-13 10:02:06] [email protected] Rasmus, this patch of yours broke it: http://svn.php.net/viewvc?view=revision&revision=255405 And in that, changes to main.c file, last one: - zend_set_timeout(INI_INT("max_execution_time")); + zend_set_timeout(EG(timeout_seconds), 0); This is done inside php_execute_script(). A bit confusing part is that this happens only when PG(max_input_time) != -1 and there's no comments in the code why it is so. :) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/49868 -- Edit this bug report at http://bugs.php.net/?id=49868&edit=1
