ID:               26454
 Updated by:       [EMAIL PROTECTED]
 Reported By:      nunoplopes at sapo dot pt
-Status:           Open
+Status:           Closed
 Bug Type:         Sockets related
 Operating System: Windows XP - Apache
 PHP Version:      4CVS-2003-11-30
 Assigned To:      wez
 New Comment:

In that case, this is the expected behaviour; the connection has not
closed, so feof() returns false.
fgets will time out because it will wait a maximum of 60 seconds (by
default; the default_socket_timeout ini setting configures this).  It
does not return false because it has not hit an error; it merely does
not have any data before your timeout period expires (this is a
feature).

It is your responsibility to implement the network protocol correctly
(PHP cannot read your mind, not that of the CVS server); if you expect
only two lines, then you should read only two lines.



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

[2003-11-30 06:15:12] nunoplopes at sapo dot pt

The connection stays open and waiting.

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

[2003-11-30 06:10:25] [EMAIL PROTECTED]

does it return two lines and close the connection, or return two lines
and wait for you to send more data?

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

[2003-11-30 05:47:15] nunoplopes at sapo dot pt

In the manual it says:
"If an error occurs, returns FALSE." (http://php.net/fgets)

The cvs server should only returns two lines. So, if I call fgets a
third time, it times out and I think it should return FALSE.
And feof doesn't work either, so I never know if the server's reponse
has ended or not...

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

[2003-11-30 05:35:05] [EMAIL PROTECTED]

I don't have intimate knowledge of the cvs pserver protocol... why
should it return false instead of timeout?

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

[2003-11-30 05:26:00] nunoplopes at sapo dot pt

The first example I wrote (in reproduce code) is a good example.
I echo fgets 3 times and it times out in the third fgets. Instead of
timing ou, it should return FALSE.

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

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/26454

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

Reply via email to