ID:               42044
 Updated by:       [EMAIL PROTECTED]
 Reported By:      zeusgerde at arcor dot de
-Status:           Open
+Status:           Bogus
 Bug Type:         Filesystem function related
 Operating System: Windows XP
 PHP Version:      5.2.3
 New Comment:

Remove the @ in front of stream_select() and you'll know why your code
does not work. Also read the manual page for stream_select again:
http://www.php.net/stream_select


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

[2007-07-19 09:04:40] zeusgerde at arcor dot de

Description:
------------
I try to read from STDIN in the windows console (cmd.exe).

With the code below I get as expected "0" several times until I start
typing.
But when I start typing (not hitting enter) I get "3", all arrays
contain STDIN, STDERR and STDOUT and fread() blocks (of course).
The same happens if I focus on another window with the mouse cursor.

Reproduce code:
---------------
while (1) {
  $aException = $aWrite = $aRead = Array(STDIN, STDERR, STDOUT);
  $iChangedStreams = @stream_select($aRead, $aWrite, $aException, 1,
0);
  echo $iChangedStreams;

  if ($iChangedStreams) {
    if (in_array(STDIN, $aRead, true)) {
      $strBuffer = fread(STDIN, 1);
    }
  }
}


Expected result:
----------------
$aRead == Array(STDIN);
$aWrite == Array(STDIN, STDOUT, STDERR);
$aException == Array();

/* not sure about STDIN in $aWrite */

Actual result:
--------------
$aRead == Array(STDIN, STDOUT, STDERR);
$aWrite == Array(STDIN, STDOUT, STDERR);
$aException == Array(STDIN, STDOUT, STDERR);



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


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

Reply via email to