Edit report at https://bugs.php.net/bug.php?id=34380&edit=1

 ID:                 34380
 Comment by:         fxbois at gmail dot com
 Reported by:        jim at centerfuse dot net
 Summary:            need stream equivalent to socket_last_error
 Status:             Open
 Type:               Feature/Change Request
 Package:            Feature/Change Request
 Operating System:   FreeBSD
 PHP Version:        5.0.4
 Block user comment: N
 Private report:     N

 New Comment:

Is there any chance that this request (/bug ?) will be solved. I confirm that 
it is impossible to write a daemon mixing socker/stream and signals.


Previous Comments:
------------------------------------------------------------------------
[2009-08-04 20:48:08] jerrywilborn at gmail dot com

Just coming along to bump this as well. It would be quite helpful to be 
able to get the status of a ASYNC stream_socket_client connection 
without doing a fwrite/fgets-type work around.

------------------------------------------------------------------------
[2009-05-19 09:42:05] andreas at softwaredesign dot se

This bug really needs some attention. It seems that as of today, there is no 
way to tell whether a stream had a real error, or it just got interrupted by a 
signal.

This makes writing PHP daemons managing child processes using proc_open and 
stream_select virtually impossible when the daemon also needs to be able to 
intercept signals (as a daemon preferably would). The stream_select *will* get 
interrupted by signals, and as the bug report states, there is no way to tell 
if the interruption was because of a signal, or if something really scary 
happened. 

This leads us to the one and only horrible solution: ignoring all errors that 
stream_select returns, as we presume that the system call was just interrupted.

------------------------------------------------------------------------
[2005-12-01 06:04:01] jim at centerfuse dot net

Just wondering if there's any word on this. I'm having trouble with the sockets 
module crashing my PHP daemon (bug report will come when I figure out what's 
going on, and after I make sure it's not my fault), and I'd like to move to 
streams. However, the lack of stream_last_error() is making this a bit 
difficult.

------------------------------------------------------------------------
[2005-09-05 22:42:02] jim at centerfuse dot net

Description:
------------
In order to determine if a function such as stream_select() returning false was 
a significant error, or just an "interrupted system call" (which can happen due 
to other signals interrupting the select), it'd be quite useful to have a 
stream_last_error() function that allows us to check the error code returned by 
stream_select(). 



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



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

Reply via email to