ID:               49868
 Updated by:       [email protected]
 Reported By:      majkl578 at gmail dot com
-Status:           Assigned
+Status:           Closed
 Bug Type:         Scripting Engine problem
 Operating System: *
 PHP Version:      5.3, 6 (2009-11-13)
 Assigned To:      rasmus
 New Comment:

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.




Previous Comments:
------------------------------------------------------------------------

[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. :)

------------------------------------------------------------------------

[2009-11-12 23:36:06] majkl578 at gmail dot com

still present in 5.3.1RC4

------------------------------------------------------------------------

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

Reply via email to