mirror of
https://github.com/TomHarte/CLK.git
synced 2026-04-19 19:16:34 +00:00
Ensures all audio queues are fully merged before machine destruction.
Thereby avoids a race condition.
This commit is contained in:
@@ -45,6 +45,7 @@ AsyncTaskQueue::AsyncTaskQueue()
|
||||
|
||||
AsyncTaskQueue::~AsyncTaskQueue() {
|
||||
#ifdef __APPLE__
|
||||
flush();
|
||||
dispatch_release(serial_dispatch_queue_);
|
||||
serial_dispatch_queue_ = nullptr;
|
||||
#else
|
||||
@@ -82,6 +83,7 @@ void AsyncTaskQueue::flush() {
|
||||
|
||||
DeferringAsyncTaskQueue::~DeferringAsyncTaskQueue() {
|
||||
perform();
|
||||
flush();
|
||||
}
|
||||
|
||||
void DeferringAsyncTaskQueue::defer(std::function<void(void)> function) {
|
||||
|
||||
Reference in New Issue
Block a user