From 40b83096b93075fb3387108171b6f5ebb5452173 Mon Sep 17 00:00:00 2001 From: byndyx Date: Fri, 13 Dec 2024 15:59:30 +0800 Subject: [PATCH] modify for safe Signed-off-by: byndyx --- .../audiomanager/managersource/src/daudio_source_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/audiomanager/managersource/src/daudio_source_manager.cpp b/services/audiomanager/managersource/src/daudio_source_manager.cpp index f84878ac..41a7e146 100644 --- a/services/audiomanager/managersource/src/daudio_source_manager.cpp +++ b/services/audiomanager/managersource/src/daudio_source_manager.cpp @@ -89,8 +89,8 @@ int32_t DAudioSourceManager::Init(const sptr &callback) DHLOGE("load av transport receiver engine provider failed."); return ERR_DH_AUDIO_FAILED; } - if (!isHicollieRunning_.load()) { - isHicollieRunning_.store(true); + bool except = false; + if (isHicollieRunning_.compare_exchange_strong(except, true)) { listenThread_ = std::thread([this]() { this->ListenAudioDev(); }); if (pthread_setname_np(listenThread_.native_handle(), LISTEN_THREAD) != DH_SUCCESS) { DHLOGE("Dev clear thread setname failed."); -- Gitee