diff --git a/services/sim/src/mcc_pool.cpp b/services/sim/src/mcc_pool.cpp index d51adfb98d3ddc4ad2d70b960caad1ef91796f80..73780474c18d853af25579303332d0608925b49d 100755 --- a/services/sim/src/mcc_pool.cpp +++ b/services/sim/src/mcc_pool.cpp @@ -20,6 +20,7 @@ using namespace std; namespace OHOS { namespace Telephony { std::mutex mccMutex_; +std::mutex initMutex_; std::vector> MccPool::mccAccessTable_; std::vector MccPool::specialMccMnc_; std::vector MccPool::indiaMccMnc_; @@ -378,6 +379,7 @@ bool MccPool::LengthIsThreeMnc(const std::string &mccMncCode) void MccPool::InitSpecialMccMncTables() { + std::lock_guard lck(initMutex_); if (specialMccMnc_.size() == 0) { AddMccMncForCa(); AddMccMncForInAirtel();