fix: emit watch notification when StopSignal stops an actor

StopSignal interception in tick_all set stopping=true but did not push
to the deaths vector, so phase 5b watch notifications never fired for
externally-stopped actors (via rt.stop_actor()). Now pushes
(addr, ExitReason::Stopped) to deaths, consistent with the
ctx.stop_self() path.

Authored by Claude, lovingly guided by Zachery Aaron Shores-Chmielewski
This commit is contained in:
Claude 2026-02-13 08:32:56 +00:00
parent 27f417754b
commit a9835f27ad

View file

@ -610,7 +610,6 @@ impl ActorInterface for ExitWatcher {
}
#[test]
#[ignore] // BUG: StopSignal handling in tick_all doesn't push to deaths vec — watchers never notified
fn native_watcher_notified_when_wasm_actor_stops() {
// A native actor watches a WASM actor. When the WASM actor is stopped,
// the watcher should receive ActorExited with ExitReason::Stopped.