refactor(supervisor): make managed child ownership structural
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 30/100
- Type d'issue
- Refactorisation
- Clarté
- À clarifier
- Activité
- Active
- Stack technique
- rust
- Domaine
- operating-systems
Piste de recherche
Commencez par lire la PR #3142, puis suivez les chemins enfants canonical et SSH mentionnés dans l’issue afin de comprendre leur flux actuel d’enregistrement et de nettoyage. Le travail est terminé lorsque les deux chemins utilisent une seule abstraction managed-child, que l’attente et la gestion de ECHILD sont centralisées, que des tests d’entrelacement déterministes existent et que le comportement hors Linux reste inchangé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
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
- Langage dominant
- Rust
- Étoiles
- 8.7k
- Forks
- 1.3k
- Merge moyen
- 2 j 6 h
- PR mergées (30 j)
- 301
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de NVIDIA/OpenShell
-
area:docs
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
-
state:triage-needed
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
area:cli state:validated
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
state:triage-needed
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
-
area:build spike state:review-ready state:stale
Difficulté 2/5 Une demi-journée Accessibilité débutants 68/100
Toutes les issues de NVIDIA/OpenShell
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
bug core
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW Ouvertefuzz
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
ClickHouse/ClickHouse#122114 ·
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
linebender/vello_svg#90 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100