Repository navigation
Add cancellable IPv4 resolver operations (depends on #846) - #956
Draft
RobiiAragon wants to merge 6 commits into
Draft
RobiiAragon wants to merge 6 commits into
RobiiAragon wants to merge 6 commits into
Conversation
Translate the Horizon IPv4 socket ABIs, retain generation-safe descriptor lifetimes and bound local discovery. Publish real guest contexts across blocking hooks using the existing per-thread gate stack. Add LDN discovery, membership and lifecycle plus local play-history registration from privately imported resources. Preserve upstream offline account and TLS boundaries. Synthetic and real loopback fixtures, ASan/UBSan, the full host suite, the production HLE registry, iPhoneOS compilation and synthesized resource-decoder tests pass. Mario Kart 3.0.5 hardware results are owner reports from the originating fork, documented separately from this rebased branch. No frontend, Nextendo integration or game/firmware data is included.
Keep the test thread heap-owned like production, release its handle after joining, and include it in the local-network test target. Stop socket fixtures at failed prerequisites rather than continuing with invalid descriptors.
Add the system permission description required by the native socket transport. Remove redirect-only resolver bookkeeping from the upstream local-only backend; no routing provider or UI is included.
Use owned DNSService queries and cancellation identities instead of leaving resolver work and late completions alive. Retire native references on one serial queue, fence finalization, and retain the offline and synchronous resolver paths.
RobiiAragon
force-pushed
the
codex/upstream-cancellable-resolver
branch
from
November 2, 2026 12:00
5f36cc4 to
3d1991d
Compare
3 tasks done
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 and why
I implement the SDK C/C++ cancellable IPv4 GetHostByName calls with real Apple DNSService operations. Each query owns its result and native reference on one serial queue; cancellation and finalization retire the operation, and a queued cancellation cannot affect a later query reusing its ID.
I keep synchronous GetAddrInfo and default offline behavior unchanged. Numeric answers require no DNS query. I add no provider routing, account state or authorization UI.
Dependency and draft scope
I am stacking this contribution on #846 for its native socket backend and blocking HLE entry, and on the small synthetic-fixture correction in #958. GitHub’s main-based Files changed view includes both dependencies.
My resolver contribution alone is eight files, 445 added / 6 removed lines: isolated comparison.
I refreshed this draft onto main
1ae435d5plus #958. The four #846 commits and the resolver commit replay unchanged (git range-diff), and I did not alter #846’s branch. I will rebase only the resolver contribution onto main after its dependencies are integrated; I keep this PR as a draft until then.Checked
Docs
I did not change the shader chain.