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] rasmus@php.net
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] svn@php.net
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] svn@php.net
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] rasmus@php.net
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] jani@php.net
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