1
0
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:
Thomas Harte
2018-03-22 21:59:19 -04:00
parent eea6858121
commit a301964bd0
9 changed files with 34 additions and 0 deletions
+2
View File
@@ -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) {