Skip to content

Commit 9141864

Browse files
committed
* fix 038-feof_live_socket.phpt
1 parent f64cc38 commit 9141864

1 file changed

Lines changed: 16 additions & 15 deletions

File tree

tests/stream/038-feof_live_socket.phpt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,40 @@ use function Async\await_all;
99

1010
echo "Start\n";
1111

12-
$ch = new Channel(1);
12+
$s2c = new Channel(1); // server -> client
13+
$c2s = new Channel(1); // client -> server
1314

14-
$server = spawn(function() use ($ch) {
15+
$server = spawn(function() use ($s2c, $c2s) {
1516
$socket = stream_socket_server("tcp://127.0.0.1:0", $errno, $errstr);
1617
if (!$socket) {
1718
echo "Server: failed - $errstr\n";
1819
return;
1920
}
2021

2122
// Signal the address to the client
22-
$ch->send(stream_socket_get_name($socket, false));
23+
$s2c->send(stream_socket_get_name($socket, false));
2324

2425
$client = stream_socket_accept($socket, 5);
2526
echo "Server: accepted\n";
2627

2728
// Signal that connection is established
28-
$ch->send("connected");
29+
$s2c->send("connected");
2930

3031
// Wait for client to finish feof check
31-
$ch->recv();
32+
$c2s->recv();
3233

3334
// Close client connection
3435
fclose($client);
3536
echo "Server: closed client\n";
3637

3738
// Signal that server closed the connection
38-
$ch->send("closed");
39+
$s2c->send("closed");
3940

4041
fclose($socket);
4142
});
4243

43-
$client = spawn(function() use ($ch) {
44-
$address = $ch->recv();
44+
$client = spawn(function() use ($s2c, $c2s) {
45+
$address = $s2c->recv();
4546

4647
$sock = stream_socket_client("tcp://$address", $errno, $errstr, 5);
4748
if (!$sock) {
@@ -51,17 +52,17 @@ $client = spawn(function() use ($ch) {
5152
echo "Client: connected\n";
5253

5354
// Wait for server to confirm accept
54-
$ch->recv();
55+
$s2c->recv();
5556

5657
// Socket is alive — feof() MUST return false
5758
$eof = feof($sock);
5859
echo "feof on live socket: " . ($eof ? "true (BUG!)" : "false") . "\n";
5960

6061
// Tell server it can close now
61-
$ch->send("done");
62+
$c2s->send("done");
6263

6364
// Wait for server to confirm close
64-
$ch->recv();
65+
$s2c->recv();
6566

6667
// Give TCP stack time to deliver FIN
6768
\Async\delay(1);
@@ -78,11 +79,11 @@ await_all([$server, $client]);
7879
echo "End\n";
7980

8081
?>
81-
--EXPECT--
82+
--EXPECTF--
8283
Start
83-
Server: accepted
84-
Client: connected
84+
%AServer: accepted
85+
%AClient: connected
86+
%Afeof on live socket: false
8587
Server: closed client
86-
feof on live socket: false
8788
feof after remote close: true
8889
End

0 commit comments

Comments
 (0)