mirror of
https://github.com/smittix/intercept.git
synced 2026-04-25 07:10:00 -07:00
Two root causes for the waterfall/monitor lockup when scrolling past the 2.4 MHz RTL-SDR span: 1. safe_terminate() sent SIGKILL but never called wait(), leaving a zombie process that kept the USB device handle open. The subsequent capture restart failed the USB probe and the monitor could not use the shared IQ path, falling back to a process-based monitor that stole the SDR from the waterfall. 2. When the frontend created a new WebSocket after a failure, the old handler's finally block called _set_shared_capture_state(running=False) which could race with the new handler's running=True, making the shared monitor path unavailable. Added a generation counter so only the owning handler can clear the shared state.
8.3 KiB
8.3 KiB