Files
SEQUA-Engine/platform/process/README.md
T
Ange-Marie MAURIN - A2M Systèmes 464ff6ce88 refactor(platform): lanceur de processus commun, enfant lié au parent
Le lancement de processus de Studio host (CoreProcess) devient sequa::platform::ChildProcess dans platform/process, pour être partagé par Studio host et le Core (qui lancera le rendu, ADR 0009). Nouvelle option kill_with_parent : l'enfant meurt avec le parent, même brutalement (job object KILL_ON_JOB_CLOSE sous Windows, fork + PR_SET_PDEATHSIG sous Linux, ignorée sous macOS). Les tests de copie fantôme restent dans studio/host/supervisor (test_shadow.cpp) avec l'enfant de test de platform/process.
2026-11-07 14:41:56 +01:00

1.5 KiB

Plateforme : processus

Brique commune de lancement et de supervision d'un processus enfant : le Studio host l'utilise pour le Core (ADR 0006, spécification Studio - Core §7), le Core la réutilise pour lancer le processus de rendu (ADR 0009), sequa-render en disposera pareil pour ses propres enfants.

API (sequa::platform)

Pièce Rôle
current_process_id PID du processus courant (nommage des copies fantômes, etc.)
is_process_alive Un PID est-il encore vivant ? Pré-validation seulement (ADR 0006 : la poignée de main reste l'arbitre)
LaunchOptions Journal en ajout (stdout et stderr fenêtres), console propre (--core-console), kill_with_parent (« mourir avec le parent » : job object JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE sous Windows, fork + PR_SET_PDEATHSIG sous Linux ; ignoré sous macOS pour l'instant)
ChildProcess Lancement (arguments correctement cités sous Windows, journal en ajout, seul le handle du journal est hérité sous Windows), running, wait_for, terminate ; le destructeur NE tue PAS le processus (le cycle de vie appartient à l'appelant, §7.6)

Le code POSIX (posix_spawn, waitpid, 0600) est écrit mais n'a pas encore été compilé ni testé (vérification locale Windows uniquement, ADR 0004).

Licences

  • MPL 2.0.
  • Aucune dépendance externe (doctest seul, pour les tests : MIT).