ID:               30301
 Comment by:       daemorhedron at siliconjesters dot com
 Reported By:      phpbug at zone-mr dot ath dot cx
 Status:           Open
 Bug Type:         IIS related
 Operating System: Windows 2003 Server
 PHP Version:      5.0.2
 New Comment:

fwiw, I notice this exact behaviour as well under completely different
specs.

Mandrake linux 9.2
Apache 1.3.31
PHP 4.3.8 and 4.3.9

Tried numerous combinations/scripts of ignore_user_abort(), flush(),
and use with/without output buffering. Both connection_aborted() and
connection_status() always return 0 even when they should be reporting
at least 1 (connection aborted). So it seems that this bug isn't
restricted to IIS at this time. Haven't tried this on php5 and don't
intend to unless aggregation is magically restored. Devs, feel free to
contact me by email for further info if required.


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

[2004-10-01 14:27:54] phpbug at zone-mr dot ath dot cx

Typo: Windows 2004 Server should of course be Windows 2003 Server

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

[2004-10-01 14:25:06] phpbug at zone-mr dot ath dot cx

Description:
------------
I have seen similar bug reports for Apache2 (where the issue is still
unresolved, but none for IIS 6.0).

I have tried two different servers, and both PHP 5.02 and PHP4.39. Each
server was running Windows 2003 with IIS 6 and exhibits the same
symptons.

Connection_status reports 0, even when the stop button is pressed, and
there is no browser listening to the script output. Connection_abort
also returns false.

Reproduce code:
---------------
ignore_user_abort(???); //Tried both true and false, no difference

while (connection_status()==0) {
 sleep(1);
 echo "test\n";
 flush();
 ob_flush();

 ... //Log an "I'm still here" timestamp, for debugging
 
 if(connection_aborted()) {
  //Log a disconnection into a DB
  exit;
  }
 }
//Log a disconnection into a DB

Expected result:
----------------
When the browser window or connection is closed, I expect the script to
stop logging the "I'm still there" message every second, and terminate
execution.

Actual result:
--------------
The script continues to run, updating the timestamp every second, until
the time limit is reached. Connection_aborted, connection_status seem to
indicate the connection is still active (but it isn't - the browser is
closed, netstat confirms that there are no connections).


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


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

Reply via email to