Flush queues on terminate() calls to unblock push()s and so ease threads termination

This commit is contained in:
vsonnier
2017-08-28 20:31:07 +02:00
parent 2d01a279e9
commit 3f90cbb858
8 changed files with 60 additions and 41 deletions
+6 -4
View File
@@ -188,10 +188,7 @@ void SDRPostThread::run() {
} //end while
//Be safe, remove as many elements as possible
if (iqVisualQueue) {
iqVisualQueue->flush();
}
iqVisualQueue->flush();
iqDataInQueue->flush();
iqDataOutQueue->flush();
iqActiveDemodVisualQueue->flush();
@@ -201,6 +198,11 @@ void SDRPostThread::run() {
void SDRPostThread::terminate() {
IOThread::terminate();
//unblock push()
iqVisualQueue->flush();
iqDataInQueue->flush();
iqDataOutQueue->flush();
iqActiveDemodVisualQueue->flush();
}
void SDRPostThread::runSingleCH(SDRThreadIQData *data_in) {