mirror of
https://github.com/cjcliffe/CubicSDR.git
synced 2026-06-02 14:04:47 -04:00
More terminate()-and-flush calls missed before
This commit is contained in:
@@ -84,3 +84,9 @@ void FFTVisualDataThread::run() {
|
||||
// std::cout << "FFT visual data thread done." << std::endl;
|
||||
}
|
||||
|
||||
void FFTVisualDataThread::terminate() {
|
||||
IOThread::terminate();
|
||||
fftDistrib.flushQueues();
|
||||
wproc.flushQueues();
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ public:
|
||||
SpectrumVisualProcessor *getProcessor();
|
||||
|
||||
virtual void run();
|
||||
|
||||
virtual void terminate();
|
||||
|
||||
protected:
|
||||
FFTDataDistributor fftDistrib;
|
||||
|
||||
@@ -28,3 +28,7 @@ void SpectrumVisualDataThread::run() {
|
||||
// std::cout << "Spectrum visual data thread done." << std::endl;
|
||||
}
|
||||
|
||||
void SpectrumVisualDataThread::terminate() {
|
||||
IOThread::terminate();
|
||||
sproc.flushQueues();
|
||||
}
|
||||
@@ -13,6 +13,8 @@ public:
|
||||
SpectrumVisualProcessor *getProcessor();
|
||||
|
||||
virtual void run();
|
||||
|
||||
virtual void terminate();
|
||||
|
||||
protected:
|
||||
SpectrumVisualProcessor sproc;
|
||||
|
||||
@@ -82,6 +82,17 @@ public:
|
||||
outputs.erase(i);
|
||||
}
|
||||
}
|
||||
//Flush all queues, either input or outputs clearing their accumulated messages.
|
||||
//this is purposefully non-blocking call.
|
||||
void flushQueues() {
|
||||
//DO NOT take the busy_update, we want a never blocking op how imperfect it could be.
|
||||
input->flush();
|
||||
|
||||
for (auto single_output : outputs) {
|
||||
|
||||
single_output->flush();
|
||||
}
|
||||
}
|
||||
|
||||
//Call process() repeateadly until all available 'input' data is consumed.
|
||||
void run() {
|
||||
|
||||
Reference in New Issue
Block a user