Remove AsynTaskManager CacheImpl before all tasks removed 12/298512/2
authorEunki, Hong <eunkiki.hong@samsung.com>
Fri, 8 Sep 2023 06:58:56 +0000 (15:58 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Mon, 11 Sep 2023 00:32:16 +0000 (09:32 +0900)
Change-Id: Ic695a369a1b01cd5458cd63d05974db57ca1a9eb
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/system/common/async-task-manager-impl.cpp

index 4b33043..1c6ded4 100644 (file)
@@ -278,7 +278,16 @@ AsyncTaskManager::~AsyncTaskManager()
     Dali::Adaptor::Get().UnregisterProcessor(*this);
   }
 
+  // Join all threads.
   mTasks.Clear();
+
+  // Remove cache impl after all threads are join.
+  mCacheImpl.reset();
+
+  // Remove tasks after CacheImpl removed
+  mWaitingTasks.clear();
+  mRunningTasks.clear();
+  mCompletedTasks.clear();
 }
 
 void AsyncTaskManager::AddTask(AsyncTaskPtr task)