Adjust `subint_forkserver` docs to match stub impl

Comment/docstring updates: `subint_forkserver` is a clean
`NotImplementedError` stub — not an alias to variant-1
(`main_thread_forkserver`). Key reserved in-place (not aliased) so
the subint-hosted-child impl can flip without API churn once
jcrist/msgspec#1026 unblocks PEP 684 subints.

(this commit msg was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
subint_forkserver_backend
Gud Boi 2026-05-08 02:51:21 -04:00
parent 522b57570b
commit 7d1e4462d4
2 changed files with 21 additions and 14 deletions

View File

@ -83,11 +83,15 @@ SpawnMethodKey = Literal[
# runtime, exactly like `trio_proc` but via fork instead # runtime, exactly like `trio_proc` but via fork instead
# of subproc-exec. See `tractor.spawn._main_thread_forkserver`. # of subproc-exec. See `tractor.spawn._main_thread_forkserver`.
'main_thread_forkserver', 'main_thread_forkserver',
# RESERVED for the future variant-2 subint-isolated-child # Variant-2: same fork machinery as `main_thread_forkserver`
# runtime — gated on jcrist/msgspec#1026 + PEP 684. Today # but the child enters a sub-interpreter to host its
# this key aliases to `main_thread_forkserver_proc`; once # `trio.run()`. Gated on jcrist/msgspec#1026 unblocking
# the upstream unblocks land it'll dispatch to the # PEP 684 isolated-mode subints upstream — until then
# subint-hosted-trio impl. See # `subint_forkserver_proc` is a clean `NotImplementedError`
# stub pointing at variant-1 (`main_thread_forkserver`) +
# the upstream blocker. The key is reserved here (not just
# aliased to variant-1) so once upstream lands the impl can
# flip in-place without API churn. See
# `tractor.spawn._subint_forkserver`. # `tractor.spawn._subint_forkserver`.
'subint_forkserver', 'subint_forkserver',
] ]

View File

@ -18,15 +18,18 @@
Variant-2 (future) "subint forkserver" placeholder reserved Variant-2 (future) "subint forkserver" placeholder reserved
for the eventual subint-isolated-child runtime variant. for the eventual subint-isolated-child runtime variant.
> **Status:** placeholder. Today > **Status:** reserved key, stub impl. Today
> `--spawn-backend=subint_forkserver` aliases to > `--spawn-backend=subint_forkserver` raises a clean
> `main_thread_forkserver_proc` (variant 1, see > `NotImplementedError` from `subint_forkserver_proc()`
> `tractor.spawn._main_thread_forkserver`). A follow-up commit > below, pointing at variant-1
> in this PR series flips the alias to a `NotImplementedError` > (`--spawn-backend=main_thread_forkserver`, see
> stub reserving the `'subint_forkserver'` key for the literal > `tractor.spawn._main_thread_forkserver`) and the upstream
> subint-hosted-child variant once > blocker
> [jcrist/msgspec#1026](https://github.com/jcrist/msgspec/issues/1026) > ([jcrist/msgspec#1026](https://github.com/jcrist/msgspec/issues/1026)).
> unblocks PEP 684 isolated-mode subints upstream. > The key is reserved here (not aliased to variant-1) so the
> literal subint-hosted-child impl can flip in-place once
> msgspec#1026 unblocks PEP 684 isolated-mode subints
> upstream no API churn at the call site.
Future arch what subints would buy us Future arch what subints would buy us
--------------------------------------- ---------------------------------------