mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
36 lines
735 B
PHP
36 lines
735 B
PHP
--TEST--
|
|
GH-8472: The resource returned by stream_socket_accept may have incorrect metadata
|
|
--FILE--
|
|
<?php
|
|
function setNonBlocking($stream)
|
|
{
|
|
$block = stream_get_meta_data($stream)['blocked'];
|
|
if ($block) {
|
|
stream_set_blocking($stream, false);
|
|
}
|
|
}
|
|
|
|
$server = stream_socket_server("tcp://127.0.0.1:9100");
|
|
setNonBlocking($server);
|
|
|
|
$client = stream_socket_client("tcp://127.0.0.1:9100");
|
|
|
|
$res = stream_socket_accept($server);
|
|
stream_set_timeout($res, 1);
|
|
setNonBlocking($res);
|
|
|
|
fwrite($client, str_repeat('0', 5));
|
|
|
|
$read = [$res];
|
|
$write = [];
|
|
$except = [];
|
|
|
|
if (stream_select($read, $write, $except, 1)) {
|
|
var_dump(fread($res, 4));
|
|
var_dump(fread($res, 4));
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
string(4) "0000"
|
|
string(1) "0"
|