From a5db49115b7c3494fff71d23429997b198612d00 Mon Sep 17 00:00:00 2001 From: li-tiangang4 Date: Fri, 6 Dec 2024 18:04:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=A0=E9=99=A4disable?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=97=B6=E5=BA=8F=EF=BC=8C=E4=BF=9D=E8=AF=81?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E6=AD=A3=E5=B8=B8=E4=B8=8B=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: li-tiangang4 --- .../src/task/disable_task.cpp | 7 ++++--- .../src/task/meta_disable_task.cpp | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/services/distributedhardwarefwkservice/src/task/disable_task.cpp b/services/distributedhardwarefwkservice/src/task/disable_task.cpp index 483ad696..d87664d5 100644 --- a/services/distributedhardwarefwkservice/src/task/disable_task.cpp +++ b/services/distributedhardwarefwkservice/src/task/disable_task.cpp @@ -73,14 +73,15 @@ void DisableTask::DoTaskInner() auto state = (result == DH_FWK_SUCCESS) ? TaskState::SUCCESS : TaskState::FAIL; SetTaskState(state); + DHLOGD("finish disable task, remove it, id = %{public}s", GetId().c_str()); + std::string taskId = GetId(); + TaskBoard::GetInstance().RemoveTask(taskId); /* if finish task, notify father finish */ std::shared_ptr father = GetFatherTask().lock(); if (father != nullptr) { auto offLineTask = std::static_pointer_cast(father); - offLineTask->NotifyFatherFinish(GetId()); + offLineTask->NotifyFatherFinish(taskId); } - DHLOGD("finish disable task, remove it, id = %{public}s", GetId().c_str()); - TaskBoard::GetInstance().RemoveTask(GetId()); } int32_t DisableTask::UnRegisterHardware() diff --git a/services/distributedhardwarefwkservice/src/task/meta_disable_task.cpp b/services/distributedhardwarefwkservice/src/task/meta_disable_task.cpp index 95d7c218..28bf917a 100644 --- a/services/distributedhardwarefwkservice/src/task/meta_disable_task.cpp +++ b/services/distributedhardwarefwkservice/src/task/meta_disable_task.cpp @@ -64,14 +64,16 @@ void MetaDisableTask::DoTaskInner() auto result = Disable(); auto state = (result == DH_FWK_SUCCESS) ? TaskState::SUCCESS : TaskState::FAIL; SetTaskState(state); + + DHLOGD("finish meta disable task, remove it, id = %{public}s", GetId().c_str()); + std::string taskId = GetId(); + TaskBoard::GetInstance().RemoveTask(taskId); /* if finish task, notify father finish */ std::shared_ptr father = GetFatherTask().lock(); if (father != nullptr) { auto offLineTask = std::static_pointer_cast(father); - offLineTask->NotifyFatherFinish(GetId()); + offLineTask->NotifyFatherFinish(taskId); } - DHLOGD("finish meta disable task, remove it, id = %{public}s", GetId().c_str()); - TaskBoard::GetInstance().RemoveTask(GetId()); } int32_t MetaDisableTask::Disable() -- Gitee