diff --git a/services/call/src/call_object_manager.cpp b/services/call/src/call_object_manager.cpp index e61dab8a2972034bdc2d0acfcd8edeab842be212..caa31e8e4b4a4a86e591acac0d5fc313f17241a1 100644 --- a/services/call/src/call_object_manager.cpp +++ b/services/call/src/call_object_manager.cpp @@ -150,6 +150,7 @@ bool CallObjectManager::IsVoipCallExist(TelCallState callState, int32_t &callId) void CallObjectManager::ClearVoipList() { + std::lock_guard lock(listMutex_); if (voipCallObjectList_.size() != 0) { voipCallObjectList_.clear(); } @@ -172,6 +173,7 @@ int32_t CallObjectManager::UpdateOneVoipCallObjectByCallId(int32_t callId, TelCa CallAttributeInfo CallObjectManager::GetVoipCallInfo() { CallAttributeInfo res; + std::lock_guard lock(listMutex_); std::map::iterator it = voipCallObjectList_.begin(); if (it != voipCallObjectList_.end()) { res = it->second;