diff options
author | Sara Golemon <pollita@php.net> | 2017-11-13 06:11:59 -0500 |
---|---|---|
committer | Sara Golemon <pollita@php.net> | 2017-11-13 09:40:34 -0500 |
commit | 0a45e8f096a04464bda6277c6f3d0b5461737a27 (patch) | |
tree | 11d15c12214d564c9ec22bca684f08986368dd59 /ext | |
parent | 704bcd385f4dfc28db54aa5d3c46c30ea1107695 (diff) | |
download | php-git-0a45e8f096a04464bda6277c6f3d0b5461737a27.tar.gz |
Bugfix#75515 php://streams behaving greedily
5060fc23 attempted to fix #68948 by treating all non-uri streams
as non-blocking, however php://fd/* streams (which includes stdin)
may block if the other end of the IPC isn't finished.
This represents a partial revert to the pre RC6 state,
but includes an escape hatch for php://memory and php://temp
streams which are local to the current process.
This also restores stream_set_chunk_size test to previous state.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/standard/tests/streams/stream_set_chunk_size.phpt | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/ext/standard/tests/streams/stream_set_chunk_size.phpt b/ext/standard/tests/streams/stream_set_chunk_size.phpt index 88f4897e93..ce272519c4 100644 --- a/ext/standard/tests/streams/stream_set_chunk_size.phpt +++ b/ext/standard/tests/streams/stream_set_chunk_size.phpt @@ -39,7 +39,7 @@ var_dump(fwrite($f, str_repeat('b', 3))); echo "should return previous chunk size (1)\n"; var_dump(stream_set_chunk_size($f, 100)); -echo "should elicit 3 reads of size 100 (chunk size)\n"; +echo "should elicit one read of size 100 (chunk size)\n"; var_dump(strlen(fread($f, 250))); echo "should elicit one read of size 100 (chunk size)\n"; var_dump(strlen(fread($f, 50))); @@ -67,15 +67,13 @@ write with size: 1 int(3) should return previous chunk size (1) int(1) -should elicit 3 reads of size 100 (chunk size) -read with size: 100 -read with size: 100 +should elicit one read of size 100 (chunk size) read with size: 100 -int(250) +int(100) should elicit one read of size 100 (chunk size) +read with size: 100 int(50) should elicit no read because there is sufficient cached data -read with size: 100 int(50) should elicit 2 writes of size 100 and one of size 50 write with size: 100 |