Repository navigation
docs(debt): record what a Windows datagram socket keeps after sceNetConnect to AF_UNSPEC - #9651
Conversation
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
There was a problem hiding this comment.
The debt update is consistent with the cited disconnect_datagram call path and the Windows host-socket probe. I also inspected the current debt entry and the #9106 edit: this is a documentation-line overlap only; #9106 changes Windows stream receive-timeout handling, while this PR records AF_UNSPEC behavior, so I do not see a shared runtime change to sequence. Two follow-ups before merge: - Please record the #9106 debt-line overlap in the PR discussion/checklist coordination if your branch has not already been reconciled with its updated line. - The evidence is explicitly a plain Winsock host probe, not a console measurement or a title stop. This PR says Unblocks: none; Validation: current-main python3 tools/check_conventions.py --base upstream/main passes; hosted eligibility, conventions, intake and labels checks pass. Product build/test jobs were skipped by the docs-only path filter, so no runtime test is claimed here.
I’ve noticed that holding this PR because of #5239 isn’t necessary. It’s fine for PRs to keep coming in; they’ll be handled in due course. Please disregard my earlier request to hold or defer it.
|
I’ve noticed that my earlier request to hold this PR based on #5239 was unnecessary. It’s fine to keep submitting PRs; maintainers will handle them in due course. Please disregard that request. |
…onnect to AF_UNSPEC sceNetConnect dissolves a datagram association with the same host call sequence as connect (disconnect_datagram in Export.cpp). The sceNetConnect-to-AF_UNSPEC debt entry only described Linux. On Windows a socket bound to an explicit address keeps it in the same way, and a sendto on the host socket to a non-loopback address fails with Winsock error 10051, where FreeBSD's udp_disconnect() resets the local address. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
dba4984 to
b2a6d79
Compare
Dismissing a stale review: the requested changes were addressed after it (new head) and the merge queue blocks on it. Please request changes again if anything is still open.
|
Checked the entry against |
What
The
sceNetConnect to AF_UNSPECentry indocs/dev/debt/libSceNet.mdonly described Linux.sceNetConnectdissolves a datagram association withdisconnect_datagram(core/libs/prx/libSceNet/Export.cpp:1162, called at line 1204), which makes the same host calls in the same order asDisconnectincore/libs/prx/libkernel/Socket/src/Udp.cpp:315(getpeername,getsockname,connectto an unspecified address,getsockname, and a bind to the wildcard address with the old port only when the port became 0). The entry now says that on Windows too a socket bound to an explicit address keeps it, thatsceNetGetsocknamereports that host address, and that asendtoon such a host socket to a non-loopback address fails with Winsock error 10051 where FreeBSD'sudp_disconnect()resets the local address to the wildcard address.Evidence
Same probe as #8921 (plain Winsock on Windows 10 Pro 19045): a socket bound implicitly by
connectreports0.0.0.0:<port>afterconnect(AF_UNSPEC)and thesendtosucceeds; one explicitly bound to127.0.0.1stays on127.0.0.1:<port>and thesendtofails with 10051. Measured on the host socket, not throughsceNetSendto; not measured on a console. Found by readingdisconnect_datagram, not from a title.Tested
Docs only;
python tools/check_conventions.py --base upstream/mainpasses.Related: #8921.
Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)AI-assisted (Claude Code).