scheduler: spawn_monitor / spawn_monitor_with — monitor registered on the child's slot before publish, so the Down always carries the real reason (spawn-then-monitor could race to NoProc); tests; channel test uses it

This commit is contained in:
claude-asm-audit
2026-08-21 12:23:46 +00:00
parent ea2b222cff
commit bc0a5e8656
6 changed files with 127 additions and 16 deletions
+3 -3
View File
@@ -89,9 +89,9 @@ pub use runtime::{init, Config, Runtime, RuntimeHandle};
pub use scheduler::{
block_on_io, cancel_timer, request_shutdown, request_stop, run, self_pid, send_after,
send_after_named, send_after_named_wall, send_after_wall, sleep, sleep_wall, spawn, spawn_addr,
spawn_addr_with, spawn_under, spawn_under_with, spawn_with, try_spawn, try_spawn_under_with,
wait_readable, wait_readable_timeout, wait_writable, wait_writable_timeout, yield_now, FdArm,
JoinError, JoinHandle, SpawnError, SpawnOpts,
spawn_addr_with, spawn_monitor, spawn_monitor_with, spawn_under, spawn_under_with, spawn_with,
try_spawn, try_spawn_under_with, wait_readable, wait_readable_timeout, wait_writable,
wait_writable_timeout, yield_now, FdArm, JoinError, JoinHandle, SpawnError, SpawnOpts,
};
pub use supervisor::{ChildSpec, OneForOne, Restart, Shutdown, Signal, Strategy};
pub use timer::TimerId;