refactor(supervisor): make managed child ownership structural
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 8.7k
- Forks
- 1.3k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 253
Description
Description
Make Linux managed-child ownership structural so callers cannot accidentally separate spawning, PID registration, waiting, unregistering, and lost-child diagnostics.
Context
The child reaper race fixed by PR #3142 required every Linux child path to use the correct registration protocol. The current registry helper closes the immediate spawn-to-registration window, but ownership remains a convention across canonical and SSH process paths. The diagnostics and wait-handling follow-ups explored during that review belong with the ownership cleanup.
Definition of Done
- Introduce a managed-child abstraction that owns Linux child registration and cleanup.
- Route canonical and SSH child paths through the abstraction.
- Centralize explicit-wait handling, unregistering, and ECHILD diagnostics.
- Add deterministic tests for ownership and reaper interleavings.
- Preserve non-Linux behavior without introducing Linux-only reaper machinery there.
Related Work
- PR #3142
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading PR #3142, then trace the canonical and SSH child paths named in the issue to understand their current registration and cleanup flow. Done means both paths use one managed-child abstraction, wait and ECHILD handling are centralized, deterministic interleaving tests exist, and non-Linux behavior remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- operating-systems
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100