From 12b9501e686108d007c8946ae8b7e6b42fd10ecb Mon Sep 17 00:00:00 2001 From: tangfan Date: Thu, 5 Jan 2023 10:51:44 +0800 Subject: [PATCH] fix timer Signed-off-by: tangfan --- .../src/utils/dh_timer.cpp | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/services/distributedhardwarefwkservice/src/utils/dh_timer.cpp b/services/distributedhardwarefwkservice/src/utils/dh_timer.cpp index 46adcd28..8108804d 100644 --- a/services/distributedhardwarefwkservice/src/utils/dh_timer.cpp +++ b/services/distributedhardwarefwkservice/src/utils/dh_timer.cpp @@ -48,7 +48,17 @@ void DHTimer::InitTimer() void DHTimer::ReleaseTimer() { DHLOGI("start"); - StopTimer(); + std::lock_guard lock(timerMutex_); + if (eventHandler_ != nullptr) { + eventHandler_->RemoveTask(timerId_); + if (eventHandler_->GetEventRunner() != nullptr) { + eventHandler_->GetEventRunner()->Stop(); + } + } + if (eventHandlerThread_.joinable()) { + eventHandlerThread_.join(); + } + eventHandler_ = nullptr; DHLOGI("end"); } @@ -85,17 +95,7 @@ void DHTimer::StartTimer() void DHTimer::StopTimer() { DHLOGI("start"); - std::lock_guard lock(timerMutex_); - if (eventHandler_ != nullptr) { - eventHandler_->RemoveTask(timerId_); - if (eventHandler_->GetEventRunner() != nullptr) { - eventHandler_->GetEventRunner()->Stop(); - } - } - if (eventHandlerThread_.joinable()) { - eventHandlerThread_.join(); - } - eventHandler_ = nullptr; + ReleaseTimer(); HandleStopTimer(); DHLOGI("end"); } -- Gitee