From 62faf973177bf701908fef6ebbca39a41a352e9c Mon Sep 17 00:00:00 2001 From: li-tiangang4 Date: Thu, 9 Jan 2025 20:02:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9disable=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=97=B6=E5=BA=8F=EF=BC=8C=E4=BF=9D=E8=AF=81=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E4=B8=8B=E7=BA=BF=E5=9B=9E=E5=90=885.0.2-Rel?= =?UTF-8?q?ease?= 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 | 9 +++++---- .../src/task/meta_disable_task.cpp | 10 ++++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/services/distributedhardwarefwkservice/src/task/disable_task.cpp b/services/distributedhardwarefwkservice/src/task/disable_task.cpp index 483ad696..0314c571 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); - /* if finish task, notify father finish */ + DHLOGD("finish disable task, remove it, id = %{public}s", GetId().c_str()); + std::string taskId = GetId(); std::shared_ptr father = GetFatherTask().lock(); + TaskBoard::GetInstance().RemoveTask(taskId); + /* if finish task, notify father finish */ 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..4326e476 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); - /* if finish task, notify father finish */ + + DHLOGD("finish meta disable task, remove it, id = %{public}s", GetId().c_str()); + std::string taskId = GetId(); std::shared_ptr father = GetFatherTask().lock(); + TaskBoard::GetInstance().RemoveTask(taskId); + /* if finish task, notify father finish */ 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