ID: 32861 Updated by: [EMAIL PROTECTED] Reported By: lew at mailduct dot com -Status: No Feedback +Status: Bogus Bug Type: Filesystem function related Operating System: FreeBSD 4.11-REL PHP Version: 5.0.4, 4.3.10 Assigned To: pollita New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Due to the volume of reports we can not explain in detail here why your report is not a bug. The support channels will be able to provide an explanation for you. Thank you for your interest in PHP. This is expected behavior. >From PHP manual: The streams listed in the read array will be watched to see if characters become available for reading (more precisely, to see if a read will not block [...]). A read from a regular file will virtually never block, it will return an empty string instead. Actually stream_select() is only meant to be used with sockets, pipes, etc. Previous Comments: ------------------------------------------------------------------------ [2008-10-20 20:02:58] estoesunapija at hotmail dot com Its been like a year since im waiting for this to be fixed! ------------------------------------------------------------------------ [2005-11-14 01:00:03] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2005-11-07 00:02:23] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-07-29 01:56:21] [EMAIL PROTECTED] Assigning to Sara who knows this stuff.. ------------------------------------------------------------------------ [2005-07-28 20:26:32] lew at mailduct dot com After testing with the latest php5 release, this still has a problem. Let me try to be more succinct in summarizing... When operating with wrapper_type of 'plainfile' (such as when tailing one or more files), the tv_sec and tv_usec (timeout) are ignored... because stream_select insists on classifying FEOF as an important event. While this may be true for a socket event (socket close, for example... which is why we have socket_select instead), it is not true for a plainfile event. Ask yourself this question -- How would you make use of the 'timeout' parameter when reading from a plainfile wrapper? It would never come into play if FEOF awakens the stream_select call! The purpose of stream_select is to let you multiplex streams... so you can WAIT for an action to take place on a stream (or a timeout). If FEOF is allowed to awaken the select (rather than waiting for a timeout or for data to become available), then there's not much point to using that call... You're forcing it to do [expensive] polling instead of relying on the select() interrupt structure to do the work for you. My second argument is this: Let's assume you insist FEOF should awaken the select. If that's the case, then it still is not working correctly... because if I *add data* to a file after the select detected EOF, and then do a select again, it *still* thinks no data is available (and that we're still at EOF even though we're not). This is VERY broken. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/32861 -- Edit this bug report at http://bugs.php.net/?id=32861&edit=1