ID:               17461
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Bogus
 Bug Type:         Scripting Engine problem
 Operating System: Windows 2000 SP2
 PHP Version:      4.2.1
 New Comment:

Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments
to the existing bug instead.

Thank you for your interest in PHP.


Please add possible additional information here:

  http://bugs.php.net/bug.php?id=14542

(no need for many reports about same issue)



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

[2002-09-17 11:51:55] [EMAIL PROTECTED]

I posted the following response in php.general and php.windows --
responding to users whom looked at the online help file for
REGISTER_SHUTDOWN_FUNCTION() on php.net and inquired whether this
TIMEOUT was actually a bug or a feature request:
----------------------------------------------
It's a bug.  spoke to Rasmus at some length about just before i posted
it in the bug report.

The online help page is inaccurate in describing the full functionality
of the function:
http://www.php.net/manual/en/function.register-shutdown-function.php

REGISTER_SHUTDOWN_FUNCTION() is suppose to kick-off when any one of the
following things happen -- Exit, Error, TIMEOUT or User Abort.

According to Rasmus, the TIMEOUT functionality of this function works
fine under Linux -- however, it's not working under Win32 !

There apparently is another bug with this function -- you are suppose
to be able to call more than one REGISTER_SHUTDOWN_FUNCTION(), and they
are suppose to executed in-order... some people are reporting that only
the first encountered REGISTER_SHUTDOWN_FUNCTION() is executed, then
the script exits.

Someone needs to go through this function, pretty thoroughly, and get
it working correctly.  Being able to run code on a timeout, user-abort
or error is critical.

Jason

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

[2002-07-21 14:13:52] [EMAIL PROTECTED]

Don't mean to be a nag... I know there are other issues you programming
gods are working on... however, I was just wondering if anyone is
working on this REGISTER_SHUTDOWN_FUNCTION() TIMEOUT case? -- I noticed
the case has been marked "OPEN" -- not sure if that means someone is
working on it, though...

I'd love to see this fixed in the next minor release of PHP, 4.2.2 ??

Thanks.
Jason

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

[2002-07-15 16:16:07] [EMAIL PROTECTED]

Please note -- there was a type-o in my email address: my correct email
address is [EMAIL PROTECTED] (not, [EMAIL PROTECTED])

;-)

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

[2002-05-27 14:11:04] [EMAIL PROTECTED]

REGISTER_SHUTDOWN_FUNCTION() doesn't work on TIMEOUT for the Win32
platform.

I've tried this under PHP versions 4.1.1 and 4.2.1 -- same thing
happens.  Here's a sample script:

1: ?>
2:
3: set_time_limit(1);
4:
5: function clean_up()
6: {
7:  print("Script Terminated\n");
8: }
9: 
10: register_shutdown_function("clean_up");
11:
12: while(1);
13:
14: ?>

Here's the error:
-----------------
Fatal error: Maximum execution time of 1 second exceeded in
C:\timeout_code.php on line 7

When this script TIMES-OUT, the REGISTER_SHUTDOWN_FUNCTION() will
"attempt" to run the function "clean_up" but will *immediately*
generate the error above in the 1st line (line 7, in this case) of the
"clean_up" function -- no matter what it is, and then the script
terminates.

Now -- if I use the REGISTER_SHUTDOWN_FUNCTION() with an EXIT (instead
of a TIMEOUT), the function works fine... it *just* seems to be a
TIMEOUT issue.

The REGISTER_SHUTDOWN_FUNCTION() needs to ignore the TIMEOUT (timer??)
-- and proceed to run any code it's programmed to run.

Just a Note: I understand that PRINT() and a few other functions will
not work when a REGISTER_SHUTDOWN_FUNCTION() is called and *run*
SERVER-SIDE -- however, I am running this script from the COMMAND-LINE
and PRINT() does work here, even with a REGISTER_SHUTDOWN_FUNCTION() --
so PRINT() isn't the problem... Just for giggles, I've replaced the
PRINT() function with an ERRORLOG() function, in an attempt to write
the output to disk -- SAME ERROR and exits on line 7 -- never executing
the code.

Thanks
Jason Caldwell
[EMAIL PROTECTED]



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


-- 
Edit this bug report at http://bugs.php.net/?id=17461&edit=1

Reply via email to