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