From f1063702fbbafd33525ef13d5a69ffc6f99dbb76 Mon Sep 17 00:00:00 2001 From: zhutianyi Date: Thu, 30 Jun 2022 15:06:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhutianyi --- services/timer/src/timer_manager.cpp | 37 ++++++++++++++-------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/services/timer/src/timer_manager.cpp b/services/timer/src/timer_manager.cpp index 7152a48..b20d5a4 100644 --- a/services/timer/src/timer_manager.cpp +++ b/services/timer/src/timer_manager.cpp @@ -588,28 +588,27 @@ bool TimerManager::ProxyTimer(int32_t uid, bool isProxy) if (isProxy) { proxyUids_.insert(uid); return true; + } + auto it = proxyUids_.find(uid); + if (it != proxyUids_.end()) { + proxyUids_.erase(uid); } else { - auto it = proxyUids_.find(uid); - if (it != proxyUids_.end()) { - proxyUids_.erase(uid); - } else { - TIME_HILOGE(TIME_MODULE_SERVICE, "Uid: %{public}d doesn't exist in the proxy list." PRId64 "", uid); - return false; - } - auto itMap = proxyMap_.find(uid); - if (itMap != proxyMap_.end()) { - auto timeInfoVec = itMap->second; - for (auto alarm : timeInfoVec) { - if (!alarm->callback) { - TIME_HILOGE(TIME_MODULE_SERVICE, "Callback is nullptr!"); - continue; - } - alarm->callback(alarm->id); - TIME_HILOGD(TIME_MODULE_SERVICE, "Shut down proxy, proxyUid: %{public}d, alarmId: %{public}" PRId64 "", - uid, alarm->id); + TIME_HILOGE(TIME_MODULE_SERVICE, "Uid: %{public}d doesn't exist in the proxy list." PRId64 "", uid); + return false; + } + auto itMap = proxyMap_.find(uid); + if (itMap != proxyMap_.end()) { + auto timeInfoVec = itMap->second; + for (auto alarm : timeInfoVec) { + if (!alarm->callback) { + TIME_HILOGE(TIME_MODULE_SERVICE, "Callback is nullptr!"); + continue; } - proxyMap_.erase(uid); + alarm->callback(alarm->id); + TIME_HILOGD(TIME_MODULE_SERVICE, "Shut down proxy, proxyUid: %{public}d, alarmId: %{public}" PRId64 "", + uid, alarm->id); } + proxyMap_.erase(uid); } return true; }