ID: 37256
User updated by: faerion at eggdrop dot org dot ru
Reported By: faerion at eggdrop dot org dot ru
-Status: Feedback
+Status: Open
Bug Type: Other web server
Operating System: Linux 2.6.15
PHP Version: 5.1.2
New Comment:
PHP 5.1.5-dev (cgi-fcgi) (built: May 4 2006 14:15:11)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with eAccelerator v0.9.5-beta2, Copyright (c) 2004-2006
eAccelerator, by eAccelerator
Nothing changes.
Previous Comments:
------------------------------------------------------------------------
[2006-05-03 13:23:05] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
------------------------------------------------------------------------
[2006-05-01 19:06:13] faerion at eggdrop dot org dot ru
PHP 5.2.0-dev (cgi-fcgi) (built: May 1 2006 14:00:29)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
with eAccelerator v0.9.5-beta2, Copyright (c) 2004-2006
eAccelerator, by eAccelerator
The same results with latest CVS snapshot:
tcp 1 0 127.0.0.1:10000 127.0.0.1:54728
CLOSE_WAIT 29561/php
------------------------------------------------------------------------
[2006-05-01 14:43:22] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
------------------------------------------------------------------------
[2006-05-01 03:31:42] faerion at eggdrop dot org dot ru
Description:
------------
I use nginx+php-fastcgi under linux. My script outputs some part of
file and waits for ipc message to continue sending file.
max_execution_time is set to 0, ignore_user_abort is off. When user
aborts the connection - nginx closes client connection and connection
to php-fastcgi server. But the socket on php doesn't close and remains
beeing in CLOSE_WAIT state without any timeout. There is also no script
execution break caused by connection abort - connection_status() always
returns 0. Example of netstat output:
tcp 1 0 127.0.0.1:10000 127.0.0.1:42347
CLOSE_WAIT 29566/php
Reproduce code:
---------------
while (!$t) {
if (msg_receive($GLOBALS['stream_queue'], 1, $msg_type,
1024, $msg, true, MSG_IPC_NOWAIT)) {
$t = true;
} else {
usleep(10000);
}
}
Expected result:
----------------
That code execution should break on user abort.
Actual result:
--------------
Actually it doesn't break.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37256&edit=1