From b11fc430f3d033f345f22340e62857cb544e1a2a Mon Sep 17 00:00:00 2001 From: Steve Markgraf Date: Tue, 26 May 2020 23:10:37 +0200 Subject: lib: fix hang on exit As the sample worker thread might still be waiting for a buffer, we need to wake it up first before trying to join. --- src/libosmo-fl2k.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libosmo-fl2k.c b/src/libosmo-fl2k.c index 8d15581..9b42bcd 100644 --- a/src/libosmo-fl2k.c +++ b/src/libosmo-fl2k.c @@ -794,6 +794,9 @@ static void *fl2k_usb_worker(void *arg) } } + /* wake up sample worker */ + pthread_cond_signal(&dev->buf_cond); + /* wait for sample worker thread to finish before freeing buffers */ pthread_join(dev->sample_worker_thread, NULL); _fl2k_free_async_buffers(dev); -- cgit v1.2.3