fix recall fail crash
This commit is contained in:
@@ -481,12 +481,13 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
|
||||
Check_Recall_Config(LD_info->mp_id);//尝试获取xml结构
|
||||
|
||||
//补招数量不为0且不是正在补招
|
||||
if (LD_info->autorecallcount != 0 && LD_info->autorecallflag != 1) {
|
||||
int i;
|
||||
int failed_count = 0;
|
||||
for (i = 0; i < LD_info->autorecallcount; i++) {
|
||||
|
||||
LD_info->autorecallflag = 1;
|
||||
LD_info->autorecallflag = 1;//正在补招
|
||||
|
||||
//当前不区分稳态和暂态lnk20241030,如果做区分修改:Check_Recall_Config从xml文件获取数据后,赋值给了LD_info
|
||||
loginfo->need_steady = LD_info->autorecall[i]->need_steady; loginfo->need_voltage = LD_info->autorecall[i]->need_voltage;
|
||||
@@ -505,7 +506,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
||||
|
||||
//mq日志
|
||||
DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据", LD_info->name,LD_info->mp_id);
|
||||
//DIY_WARNLOG(full_key_m_c,"【WARN】监测点:%s - id:%s开始补招数据", LD_info->name,LD_info->mp_id);
|
||||
|
||||
ret = mms_jread(loginfo, chnl_usr->net_info, loginfo->LD_info->LD_name, loginfo->logName,
|
||||
loginfo->start_time, loginfo->end_time, g_pt61850app->mmsOpTimeout, chnl_usr->ip_str);
|
||||
@@ -514,7 +515,7 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
LD_info->ied->id, LD_info->cpuno, LD_info->LD_name, loginfo->logName, chnl_usr->ip_str, chnl_usr->chnl_id);
|
||||
|
||||
//mq日志
|
||||
DIY_ERRORLOG(full_key_m_c,"【ERROR】监测点:%s - id:%s补招数据失败", LD_info->name,LD_info->mp_id);
|
||||
DIY_ERRORLOG(full_key_m_c,"【ERROR】监测点:%s - id:%s补招数据失败 - 失败时间点:%lld 至 %lld", LD_info->name,LD_info->mp_id,loginfo->start_time,loginfo->end_time);
|
||||
|
||||
failed_count++;
|
||||
}
|
||||
@@ -534,9 +535,10 @@ void ChannelCheckIECLogs(chnl_usr_t *chnl_usr)
|
||||
printf("end mms_jread................................\n");
|
||||
}
|
||||
|
||||
if (failed_count==0) {//成功
|
||||
//不管是否成功,这个补招文件必须删除,可能出现一直失败,循环读取文件和循环补招导致程序崩溃202050724lnk
|
||||
//if (failed_count==0) {//成功
|
||||
Delete_recall_Xml(LD_info->mp_id);
|
||||
}
|
||||
//}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1371,7 +1373,7 @@ void Check_Recall_Config(char *id) //检查补招配置文件Recall.xml
|
||||
|
||||
recall_xml_t recall_xml;
|
||||
memset((char*)&recall_xml, 0, sizeof(recall_xml_t));
|
||||
parse_recall_xml(&recall_xml,id); //解析补招文件
|
||||
parse_recall_xml(&recall_xml,id); //解析补招文件,目录下所有属于这个监测点的文件都读取
|
||||
process_recall_config(&recall_xml); //解析的补招数据赋值到全局变量
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user