diff options
Diffstat (limited to 'src/common/detached_tasks.cpp')
| -rw-r--r-- | src/common/detached_tasks.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/common/detached_tasks.cpp b/src/common/detached_tasks.cpp index a347d9e02..f268d6021 100644 --- a/src/common/detached_tasks.cpp +++ b/src/common/detached_tasks.cpp | |||
| @@ -16,22 +16,22 @@ DetachedTasks::DetachedTasks() { | |||
| 16 | } | 16 | } |
| 17 | 17 | ||
| 18 | void DetachedTasks::WaitForAllTasks() { | 18 | void DetachedTasks::WaitForAllTasks() { |
| 19 | std::unique_lock<std::mutex> lock(mutex); | 19 | std::unique_lock lock{mutex}; |
| 20 | cv.wait(lock, [this]() { return count == 0; }); | 20 | cv.wait(lock, [this]() { return count == 0; }); |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | DetachedTasks::~DetachedTasks() { | 23 | DetachedTasks::~DetachedTasks() { |
| 24 | std::unique_lock<std::mutex> lock(mutex); | 24 | std::unique_lock lock{mutex}; |
| 25 | ASSERT(count == 0); | 25 | ASSERT(count == 0); |
| 26 | instance = nullptr; | 26 | instance = nullptr; |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | void DetachedTasks::AddTask(std::function<void()> task) { | 29 | void DetachedTasks::AddTask(std::function<void()> task) { |
| 30 | std::unique_lock<std::mutex> lock(instance->mutex); | 30 | std::unique_lock lock{instance->mutex}; |
| 31 | ++instance->count; | 31 | ++instance->count; |
| 32 | std::thread([task{std::move(task)}]() { | 32 | std::thread([task{std::move(task)}]() { |
| 33 | task(); | 33 | task(); |
| 34 | std::unique_lock<std::mutex> lock(instance->mutex); | 34 | std::unique_lock lock{instance->mutex}; |
| 35 | --instance->count; | 35 | --instance->count; |
| 36 | std::notify_all_at_thread_exit(instance->cv, std::move(lock)); | 36 | std::notify_all_at_thread_exit(instance->cv, std::move(lock)); |
| 37 | }) | 37 | }) |