From 0ebeeb1fdcbe74cadaebeb57b84989fdf1fa0517 Mon Sep 17 00:00:00 2001 From: Chunel Date: Thu, 5 Jun 2025 22:59:58 +0800 Subject: [PATCH] [bugfix] re-fix all para bug --- .../_GEngine/GDynamicEngine/GDynamicEngine.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/GraphCtrl/GraphElement/_GEngine/GDynamicEngine/GDynamicEngine.cpp b/src/GraphCtrl/GraphElement/_GEngine/GDynamicEngine/GDynamicEngine.cpp index ab1193c9..1dc5591a 100644 --- a/src/GraphCtrl/GraphElement/_GEngine/GDynamicEngine/GDynamicEngine.cpp +++ b/src/GraphCtrl/GraphElement/_GEngine/GDynamicEngine/GDynamicEngine.cpp @@ -225,19 +225,19 @@ CVoid GDynamicEngine::parallelRunAll() { CVoid GDynamicEngine::parallelRunOne(GElementPtr element) { if (unlikely(cur_status_.isErr())) { - CGRAPH_UNIQUE_LOCK lock(locker_.mtx_); - locker_.cv_.notify_one(); return; } auto status = element->fatProcessor(CFunctionType::RUN); if (unlikely(status.isErr())) { - CGRAPH_LOCK_GUARD lk(status_lock_); - cur_status_ += status; + { + CGRAPH_LOCK_GUARD lk(status_lock_); + cur_status_ += status; + } } auto finishedSize = parallel_run_num_.fetch_add(1, std::memory_order_release) + 1; - if (finishedSize >= total_end_size_) { + if (finishedSize >= total_end_size_ || cur_status_.isErr()) { CGRAPH_UNIQUE_LOCK lock(locker_.mtx_); locker_.cv_.notify_one(); }