diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-12-19 13:27:09 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-12-20 11:37:43 +0100 |
commit | 10eb0b3110638c65f133c5ccc1cf2303db79e2bb (patch) | |
tree | 7f1546141dbe5212dc7d655fa6be744bb867f931 /ext | |
parent | d4ba1fd9631ff18b945ef3fb899601d5c1a22986 (diff) | |
download | php-git-10eb0b3110638c65f133c5ccc1cf2303db79e2bb.tar.gz |
Fixed bug #79000
Don't report EAGAIN/EWOULDBLOCK as errors for fwrite on
non-blocking socket streams. This matches behavior for fread,
as well as behavior for plain file streams.
Closes GH-5026.
Diffstat (limited to 'ext')
-rw-r--r-- | ext/standard/tests/streams/bug79000.phpt | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/standard/tests/streams/bug79000.phpt b/ext/standard/tests/streams/bug79000.phpt new file mode 100644 index 0000000000..f2209f2570 --- /dev/null +++ b/ext/standard/tests/streams/bug79000.phpt @@ -0,0 +1,19 @@ +--TEST-- +Bug #79000: Non-blocking socket stream reports EAGAIN as error +--SKIPIF-- +<?php +if (PHP_OS_FAMILY == 'Windows') die('skip Not for Windows'); +?> +--FILE-- +<?php + +[$sock1, $sock2] = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP); +$str = str_repeat('a', 1000000); +stream_set_blocking($sock1, false); +var_dump(fwrite($sock1, $str)); +var_dump(fwrite($sock1, $str)); + +?> +--EXPECTF-- +int(%d) +int(%d) |