mirror of
https://github.com/marcoallegretti/WEFT_OS.git
synced 2026-03-27 01:13:09 +00:00
SessionRegistry now tracks a oneshot abort sender per active session: - abort_senders: HashMap<u64, oneshot::Sender<()>> field added. - register_abort(session_id): creates the channel, stores the sender, returns the receiver to the supervise task. - terminate(): removes the session state AND drops the abort sender, closing the channel and triggering the receiver in supervise. runtime::supervise() now accepts abort_rx: oneshot::Receiver<()>: - After the READY signal is received, the process-wait loop uses tokio::select! on child.wait() vs abort_rx. - On abort: logs intent, calls child.kill(), then sets state Stopped. - On natural exit: logs exit status, sets state Stopped. dispatch::LaunchApp: calls register_abort immediately after launch, passes the receiver to the spawned supervise task. Integration test updated to pass the abort receiver. |
||
|---|---|---|
| .. | ||
| weft-appd | ||
| weft-build-meta | ||
| weft-compositor | ||
| weft-runtime | ||
| weft-servo-shell | ||