This commit is contained in:
zakrent
2020-12-26 01:17:37 +01:00
4 changed files with 12 additions and 13 deletions

View File

@ -6,6 +6,7 @@ namespace sdrpp_credits {
"aosync",
"Alexsey Shestacov",
"Benjamin Kyd",
"Cropinghigh",
"Tobias Mädel",
"Raov",
"Howard0su"

View File

@ -38,10 +38,7 @@ namespace dsp {
swapCV.wait(lck, [this]{ return (canSwap || writerStop); });
// If writer was stopped, abandon operation
if (writerStop) {
writerStop = false;
return false;
}
if (writerStop) { return false; }
// Swap buffers
dataSize = size;
@ -66,23 +63,22 @@ namespace dsp {
std::unique_lock<std::mutex> lck(rdyMtx);
rdyCV.wait(lck, [this]{ return (dataReady || readerStop); });
// If stopped, abort
if (readerStop) {
readerStop = false;
return -1;
}
dataReady = false;
return dataSize;
return (readerStop ? -1 : dataSize);
}
void flush() {
// Clear data ready
{
std::lock_guard<std::mutex> lck(rdyMtx);
dataReady = false;
}
// Notify writer that buffers can be swapped
{
std::lock_guard<std::mutex> lck(swapMtx);
canSwap = true;
}
swapCV.notify_all();
}