a30db01cba
Two changes in one file: - Q2 mechanical: change the spawn_reaper_thread closure signature from `Fn(u32)` to `Fn(u32, i32)`; capture `waitpid` status via `&mut status`; pass both `res` and `status` to the reaper callback. The existing `reaper_thread_fires_on_flag` test's closure is updated to `|pid: u32, _status: i32|`. - Bug5: `run_watchdog` no longer silently `return;`s on a reaper thread panic. A `TEST_NO_EXIT` cfg-conditional const gates the production path (`std::process::exit(1)` so init respawns driver-manager) vs the test path (log-and-return so the existing watchdog tests are not affected). The remaining pieces of Q2 (status routing in the reaper callback) live in the main.rs Q1+Q2+S3 commit.