Sfoglia il codice sorgente

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 5 anni fa
parent
commit
1ca9a13e50
1 ha cambiato i file con 2 aggiunte e 0 eliminazioni
  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;