diff --git a/services/miscdevice_service/include/miscdevice_service.h b/services/miscdevice_service/include/miscdevice_service.h index d30d3f95889f9fd803f770aea71e2e649fef68c2..07b0b54a276ca642e10f046eb29fa1cec74b5ce2 100644 --- a/services/miscdevice_service/include/miscdevice_service.h +++ b/services/miscdevice_service/include/miscdevice_service.h @@ -119,6 +119,7 @@ private: std::mutex clientDeathObserverMutex_; std::map, int32_t> clientPidMap_; std::mutex clientPidMapMutex_; + std::mutex miscDeviceIdMapMutex_; }; } // namespace Sensors } // namespace OHOS diff --git a/services/miscdevice_service/src/miscdevice_service.cpp b/services/miscdevice_service/src/miscdevice_service.cpp index dd8a369c27d470bd577c967bd611e62815cb56ca..9a5510f158d855179798f2af9a0d760fc725d0c5 100644 --- a/services/miscdevice_service/src/miscdevice_service.cpp +++ b/services/miscdevice_service/src/miscdevice_service.cpp @@ -188,6 +188,7 @@ void MiscdeviceService::OnStart() MISC_HILOGE("Publish MiscdeviceService failed"); return; } + std::lock_guard lock(miscDeviceIdMapMutex_); auto ret = miscDeviceIdMap_.insert(std::make_pair(MiscdeviceDeviceId::LED, lightExist_)); if (!ret.second) { MISC_HILOGI("Light exist in miscDeviceIdMap_"); @@ -218,6 +219,7 @@ void MiscdeviceService::OnStartFuzz() if (!InitLightInterface()) { MISC_HILOGE("InitLightInterface failed"); } + std::lock_guard lock(miscDeviceIdMapMutex_); auto ret = miscDeviceIdMap_.insert(std::make_pair(MiscdeviceDeviceId::LED, lightExist_)); if (!ret.second) { MISC_HILOGI("Light exist in miscDeviceIdMap_");