Repository navigation
Conversation
This was referenced Oct 8, 2026
This was referenced Oct 8, 2026
8 of 9 tasks
Collaborator
|
Which title polls a file, pipe or stdio descriptor on main? With the ID and the log line where it stops this can go in; otherwise I'll close it until one does. |
…poll-host-descriptors # Conflicts: # docs/dev/TechnicalDebt.md
…poll-host-descriptors
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
9 tasks done
Contributor
|
@TideOPL a title now stops here on Details in #3584. If you reopen this with that evidence it should meet the intake rules; I won't open a copy. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
pollthrew for every descriptor belowGuestSockets::FirstDescriptor, so a title that polls a file, a pipe or stdio (alone or next to its sockets) stopped there. That TechnicalDebt entry had no open PR (#1706 does the same forselect, Linux only).pollcall as the sockets, with the same flag mapping. Readiness,POLLHUPandPOLLNVALcome from the host.WSAPolltakes only sockets. A disk file (GetFileType=FILE_TYPE_DISK) or a directory descriptor is ready at once for the requestedPOLLIN,POLLOUTandPOLLRDNORM. That is FreeBSD's default vnode poll answer (vop_nopoll/vop_stdpoll:events & (POLLIN | POLLOUT | POLLRDNORM | POLLWRNORM)). A descriptor with no CRT handle reportsPOLLNVAL, with the CRT invalid-parameter handler suppressed asNativeClosedoes. Pipes and consoles still throw.AddPollRequest.The TechnicalDebt entry is updated: Windows pipes and consoles still throw, and the vnode answer is not confirmed for the console's file systems.
Tested
guest_pollpasses. The new cases fail onmain(the export throws, exit 0xc0000409) and pass with the change.guest_pollpasses, including the pipe casescore/libs/tests/GuestPoll.cpp:POLLIN | POLLPRI | POLLOUT | POLLRDNORMnext to an idle listening socket, with an infinite timeout: returns 1 at once, the file reportsPOLLIN | POLLOUT | POLLRDNORMand the socket reports nothingclose:POLLNVALPOLLIN/POLLHUPafter the writer closescteston both: Windows 479/479 pass; Linux 485 pass, with 24 AGC subgroup/GPU tests skipped because WSL2 has no suitable Vulkan device.guest_udp,guest_tcpandguest_sce_net, which link the same file, pass on both.tools/check_conventions.py(with this description) andtools/check_test_registration.pypass.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)