Explorar o código

common/detached_tasks: Wait for tasks before shutting down

If this is not waited on, the synchronization primitives are destroyed
whe main exits and the detached task ends up signalling garbage and not
properly finishing.
Rodrigo Locatti %!s(int64=5) %!d(string=hai) anos
pai
achega
1ca9a13e50
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      src/common/detached_tasks.cpp

+ 2 - 0
src/common/detached_tasks.cpp

@@ -21,6 +21,8 @@ void DetachedTasks::WaitForAllTasks() {
 }
 
 DetachedTasks::~DetachedTasks() {
+    WaitForAllTasks();
+
     std::unique_lock lock{mutex};
     ASSERT(count == 0);
     instance = nullptr;