From 1e4f0c17f0a9cdd05d8fa2cce8381403f5bf0ae6 Mon Sep 17 00:00:00 2001 From: Zhao-PengFei35 Date: Fri, 1 Sep 2023 11:14:09 +0800 Subject: [PATCH] fixed 10bc636 from https://gitee.com/Zhao-PengFei35/resourceschedule_memmgr/pulls/330 fix bug of concurrency access to bgTaskObserver_ Signed-off-by: Zhao-PengFei35 --- services/memmgrservice/src/event/mem_mgr_event_center.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/services/memmgrservice/src/event/mem_mgr_event_center.cpp b/services/memmgrservice/src/event/mem_mgr_event_center.cpp index 7436fcf..18d56bd 100644 --- a/services/memmgrservice/src/event/mem_mgr_event_center.cpp +++ b/services/memmgrservice/src/event/mem_mgr_event_center.cpp @@ -217,11 +217,10 @@ void MemMgrEventCenter::RegisterBgTaskObserver() { HILOGI("called"); #ifdef CONFIG_BGTASK_MGR - if (bgTaskObserver_) { - return; - } - MAKE_POINTER(bgTaskObserver_, shared, BgTaskObserver, "make BgTaskObserver failed", + if (!bgTaskObserver_) { + MAKE_POINTER(bgTaskObserver_, shared, BgTaskObserver, "make BgTaskObserver failed", return, /* no param */); + } ErrCode ret = BackgroundTaskMgr::BackgroundTaskMgrHelper::SubscribeBackgroundTask(*bgTaskObserver_); if (ret == ERR_OK) { HILOGI("register success"); @@ -305,7 +304,6 @@ void MemMgrEventCenter::UnregisterEventObserver() if (bgTaskObserver_) { BackgroundTaskMgr::BackgroundTaskMgrHelper::UnsubscribeBackgroundTask(*bgTaskObserver_); } - bgTaskObserver_ = nullptr; #endif if (accountObserver_) { AccountSA::OsAccountManager::UnsubscribeOsAccount(accountObserver_); -- Gitee