diff --git a/ConfigModule/src/ConfigInstance.cpp b/ConfigModule/src/ConfigInstance.cpp index 8755cd0..4b225da 100644 --- a/ConfigModule/src/ConfigInstance.cpp +++ b/ConfigModule/src/ConfigInstance.cpp @@ -213,6 +213,7 @@ int ConfigInstance::Updata_Check(Json::Value json_value) int ConfigInstance::SetStatus(int nConfigType) { + std::lock_guard lock(mutex_status); for (int i = 0; i < MAX_USER_COUNT; i++) { m_USER_ConfigUpdataStatusList[nConfigType][i] = true; diff --git a/ConfigModule/src/ConfigManager.cpp b/ConfigModule/src/ConfigManager.cpp index 1d78b57..70439ce 100644 --- a/ConfigModule/src/ConfigManager.cpp +++ b/ConfigModule/src/ConfigManager.cpp @@ -203,6 +203,7 @@ int ConfigManager::UpdateConfig() if (!std::filesystem::exists(strConfigPath)) { strConfigPath = m_strConfigRootPath + "/param.json"; } + printf("read param %s\n", strConfigPath.c_str()); std::shared_ptr temConfig = ConfigBase::GetInstance(); re = LoadParamConfig(temConfig, strConfigPath); if (re != 0) @@ -218,7 +219,12 @@ int ConfigManager::UpdateConfig() printf("Error >>>> camear Name is empty \n"); continue; } - Config_instances_[p.commonCheckConfig.baseConfig.strCamearName] = temConfig; + auto it = Config_instances_.find(p.commonCheckConfig.baseConfig.strCamearName); + if (it != Config_instances_.end() && it->second) { + LoadParamConfig(it->second, strConfigPath); + } else { + Config_instances_[p.commonCheckConfig.baseConfig.strCamearName] = temConfig; + } } // getchar();