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

 ID:                 60817
 Updated by:         cataphr...@php.net
 Reported by:        landeholm at gmail dot com
 Summary:            stream_get_line() incorrectly blocks
 Status:             Closed
 Type:               Bug
 Package:            Streams related
 Operating System:   Linux/Ubuntu
 PHP Version:        5.3.9
 Assigned To:        cataphract
 Block user comment: N
 Private report:     N

 New Comment:

This fix is only on 5.3.11, so it's normal you're experiencing the problem in 
5.3.10.


Previous Comments:
------------------------------------------------------------------------
[2012-05-15 12:23:04] olouvignes at gmail dot com

Just migrated from 11.10 w/ php5.3.6-13 to 12.04 w/ php5.3.10-1 and this new 
php 
version broken a beanstalkd socket. It does not stop on "\r\n" anymore and 
hangs 
till timeout, while it works correctly on 5.3.6-13.

------------------------------------------------------------------------
[2012-04-18 09:46:27] larue...@php.net

Automatic comment on behalf of cataphract
Revision: 
http://git.php.net/?p=php-src.git;a=commit;h=f5a457318217a66fddc0d47af04a00f144dcbcec
Log: - Further fix for bug #60455 (stream_get_line misbehaves if EOF is not 
detected   together with the last read). - Fixed bug #60817 (stream_get_line() 
reads from stream even when there is   already sufficient data buffered). 
stream_get_line() now behaves more like   fgets(), as is documented. #withheld 
commit to 5.4

------------------------------------------------------------------------
[2012-03-06 14:47:41] john dot papaioannou at gmail dot com

I am still seeing this issue using the code given by landeholm at gmail dot com 
(broken down into two scripts because I 'm on Windows). Specifically, referring 
to this line:

print "server got line: " . stream_get_line($socket2, 1024, "\r\n") . "\n";

* with a buffer size of 1024, the read times out
* with buffer sizes smaller or equal to the lines actually being written from 
the client (e.g. tried 5 and 8 bytes) the read works


Windows 7 x64, PHP 5.3.10 x86 on Apache 2.2.21

------------------------------------------------------------------------
[2012-03-05 01:56:18] s...@php.net

Re-opened to track 5.4. Please merge to 5.4 and close.

------------------------------------------------------------------------
[2012-01-22 20:57:19] cataphr...@php.net

This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.

Fixed, now the function doesn't try to fill the buffer with $length bytes; it 
behaves more like fgets() typically returning false in the last iteration (if 
the 
file ends with the delimiter).

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


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

    https://bugs.php.net/bug.php?id=60817


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

Reply via email to