From 705397d399ff1f313b848f4ff3ef95066534e606 Mon Sep 17 00:00:00 2001 From: let_it_rot Date: Thu, 21 Aug 2025 19:26:42 +0800 Subject: [PATCH] fix mutil thread bug Signed-off-by: let_it_rot --- services/reminder/include/reminder_data_manager.h | 1 + services/reminder/src/reminder_data_manager.cpp | 1 + services/reminder/test/unittest/reminder_data_manager_test.cpp | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/services/reminder/include/reminder_data_manager.h b/services/reminder/include/reminder_data_manager.h index efe1cfeb4..2467c7a31 100644 --- a/services/reminder/include/reminder_data_manager.h +++ b/services/reminder/include/reminder_data_manager.h @@ -712,6 +712,7 @@ private: static std::mutex ALERT_MUTEX; static std::mutex TIMER_MUTEX; static std::mutex ACTIVE_MUTEX; + std::mutex cancelMutex_; // for cancelReminder function /** * Max number of reminders limit for the whole system. diff --git a/services/reminder/src/reminder_data_manager.cpp b/services/reminder/src/reminder_data_manager.cpp index 56d5dd1ac..c68da5ef7 100644 --- a/services/reminder/src/reminder_data_manager.cpp +++ b/services/reminder/src/reminder_data_manager.cpp @@ -130,6 +130,7 @@ ErrCode ReminderDataManager::CancelReminder( ANSR_LOGW("Not find the reminder due to not match"); return ERR_REMINDER_NOT_EXIST; } + std::lock_guard locker(cancelMutex_); if (activeReminderId_ == reminderId) { { std::lock_guard locker(ReminderDataManager::ACTIVE_MUTEX); diff --git a/services/reminder/test/unittest/reminder_data_manager_test.cpp b/services/reminder/test/unittest/reminder_data_manager_test.cpp index ba3db22dd..56b255231 100644 --- a/services/reminder/test/unittest/reminder_data_manager_test.cpp +++ b/services/reminder/test/unittest/reminder_data_manager_test.cpp @@ -1638,7 +1638,7 @@ HWTEST_F(ReminderDataManagerTest, ReminderDataManagerTest_038, Level1) Uri enableUri(uriStr); std::string enable; auto ret = ReminderDataShareHelper::GetInstance().Query(enableUri, "focus_mode_enable", enable); - EXPECT_TRUE(ret == false); + EXPECT_EQ(ret, false); } } // namespace Notification } // namespace OHOS -- Gitee