From 28e7ccca8ebaf5ee3bf3efaa4b0a777d0a993df4 Mon Sep 17 00:00:00 2001 From: Oliver Jowett Date: Thu, 7 Mar 2019 18:15:47 +0000 Subject: [PATCH] If rtlsdr_read_async returns early, the device is probably hosed, give up; rely on the caller of dump1090 to restart. --- sdr_rtlsdr.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sdr_rtlsdr.c b/sdr_rtlsdr.c index d1c1d79..c3fbd44 100644 --- a/sdr_rtlsdr.c +++ b/sdr_rtlsdr.c @@ -362,10 +362,11 @@ void rtlsdrRun() start_cpu_timing(&rtlsdr_thread_cpu); - while (!Modes.exit) { - rtlsdr_read_async(RTLSDR.dev, rtlsdrCallback, NULL, - /* MODES_RTL_BUFFERS */ 4, - MODES_RTL_BUF_SIZE); + rtlsdr_read_async(RTLSDR.dev, rtlsdrCallback, NULL, + /* MODES_RTL_BUFFERS */ 4, + MODES_RTL_BUF_SIZE); + if (!Modes.exit) { + log_with_timestamp("rtlsdr_read_async returned unexpectedly, probably lost the USB device, bailing out"); } }