Skip to content

Stdlib: stream_socket_recvfrom() TCP peer receive (#21007) - #21010

Merged
PurHur merged 1 commit into
masterfrom
fix/21007-stream-socket-recvfrom
Jul 19, 2026
Merged

PurHur merged 1 commit into
masterfrom
fix/21007-stream-socket-recvfrom

Conversation

@PurHur

@PurHur PurHur commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #21007

Test plan

  • Issue repro (VM):
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
cat > /tmp/recvfrom.php <<'"'"'PHP'"'"'
<?php
echo function_exists("stream_socket_recvfrom") ? "1" : "0", "\n";
$srv = stream_socket_server("tcp://127.0.0.1:0");
$addr = stream_socket_get_name($srv, false);
$cli = stream_socket_client("tcp://".$addr);
$peer = stream_socket_accept($srv);
fwrite($cli, "hello");
$buf = stream_socket_recvfrom($peer, 100);
var_export($buf); echo "\n";
try { stream_socket_recvfrom($peer, 0); } catch (Throwable $e) { echo get_class($e), ": ", $e->getMessage(), "\n"; }
PHP
php bin/vm.php /tmp/recvfrom.php'

Output:

1
'hello'
ValueError: stream_socket_recvfrom(): Argument #2 ($length) must be greater than 0
  • vendor/bin/phpunit --filter stream_socket_recvfrom → OK (2 tests)
  • ./script/check-generated-docs.sh → all generated docs in sync

Made with Cursor

Register the leftover #6043 socket-stream helper via host-stream fallback
(same pattern as stream_socket_shutdown) so UDP/TCP peers can read payloads.

Co-authored-by: Cursor <cursoragent@cursor.com>
@PurHur
PurHur merged commit 734d159 into master Jul 19, 2026
1 check failed
@PurHur
PurHur deleted the fix/21007-stream-socket-recvfrom branch July 19, 2026 13:40
PurHur added a commit that referenced this pull request Jul 19, 2026
…) (#21016)

Register living Dom\DtdNamedNodeMap and allocate it for doctype entities/
notations (legacy stays DOMNamedNodeMap). Spine-cover stream_socket_recvfrom/
sendto so north-star5-fast stays green after #21010/#21011.

Co-authored-by: PurHur <PurHur@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Stdlib: stream_socket_recvfrom() missing — leftover from #6043 (ext/standard/streamsfuncs.c)

1 participant