0a7195c93c
Pass `watch::Receiver<bool>` into `run_capture` and `run_playback` so both threads check for shutdown at the top of their outer recovery loop and inner monitoring loop. Without this, restarting the process (e.g. via systemd after an ALSA error) left the old threads stalled forever while new ones were created alongside them. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: Stan Grams <sjg@haxx.space>