diff --git a/cfg_parse/SimpleProducer.cpp b/cfg_parse/SimpleProducer.cpp index bfb64b6..ed99072 100644 --- a/cfg_parse/SimpleProducer.cpp +++ b/cfg_parse/SimpleProducer.cpp @@ -766,6 +766,21 @@ void rocketmq_test_set()//用来测试进程控制脚本 data.mp_id = 123123; my_rocketmq_send(data); } + +void rocketmq_test_only()//用来测试进程控制脚本 +{ + Ckafka_data_t data; + data.monitor_id = 123123; + data.strTopic = QString::fromStdString(G_MQCONSUMER_TOPIC_SET); + std::ifstream file("set_debug.txt"); // 文件中存储长字符串 + std::stringstream buffer; + buffer << file.rdbuf(); // 读取整个文件内容 + + data.strText = QString::fromStdString(buffer.str()); + data.mp_id = 123123; + my_rocketmq_send(data); +} + extern std::string G_MQCONSUMER_TOPIC_RC; void rocketmq_test_rc() { diff --git a/cfg_parse/cfg_parser.cpp b/cfg_parse/cfg_parser.cpp index 10fe6bd..a5ccb7b 100644 --- a/cfg_parse/cfg_parser.cpp +++ b/cfg_parse/cfg_parser.cpp @@ -4086,7 +4086,7 @@ void add_terminal_to_trigger_update(trigger_update_xml_t* trigger_update_xml, co std::cout << "new ledger!!!!"<new_update_num < MAX_UPDATEA_NUM) { trigger_update_xml->new_updates[trigger_update_xml->new_update_num] = work_terminal; - trigger_update_xml->new_update_num++; // ն˵ + trigger_update_xml->new_update_num+= 1; // ն˵ } else { std::cerr << "Exceeded MAX_UPDATEA_NUM limit for new updates!" << std::endl; } @@ -4095,7 +4095,7 @@ void add_terminal_to_trigger_update(trigger_update_xml_t* trigger_update_xml, co std::cout << "modify ledger!!!"<modify_update_num < MAX_UPDATEA_NUM) { trigger_update_xml->modify_updates[trigger_update_xml->modify_update_num] = work_terminal; - trigger_update_xml->modify_update_num++; // ޸ն˵ + trigger_update_xml->modify_update_num+= 1; // ޸ն˵ } else { std::cerr << "Exceeded MAX_UPDATEA_NUM limit for modify updates!" << std::endl; } @@ -4189,7 +4189,7 @@ void parse_ledger_update(trigger_update_xml_t* trigger_update_xml, const std::st std::cout << "delete ledger!!!!!"<delete_update_num < MAX_UPDATEA_NUM) { trigger_update_xml->delete_updates[trigger_update_xml->delete_update_num] = delete_terminal; - trigger_update_xml->delete_update_num++; // Ӽ + trigger_update_xml->delete_update_num += 1; // Ӽ } } @@ -4316,7 +4316,7 @@ int parse_ledger_update_xml(trigger_update_xml_t* trigger_update_xml) } } else { - //std::cout << "No matching XML files found." << std::endl; + std::cout << "No matching XML files found." << std::endl; return APR_EGENERAL; } @@ -12210,8 +12210,13 @@ int parse_device_cfg_web() //↑ٵiedĿռļеն̨lnk20250121 g_node->clients = (ied_t**)apr_pcalloc(g_cfg_pool, IED_COUNT * sizeof(ied_t*));//g_node->clients ڴռ洢 count_cfg ied_t* ͵ָ루һָ飩ǣָڴָ룩ָ //ied - for (int k = 0; k < count_cfg; k++) - g_node->clients[k] = (ied_t*)apr_pcalloc(g_cfg_pool, sizeof(ied_t));//ÿ g_node->clients[k] ָڴǶģÿ ied_t ṹռõڴ飩ָڴָ + + for (int k = 0; k < count_cfg; k++){ + + // + std::cout << "!!!!!!!!!!gnodeindex:" << k << std::endl; + + g_node->clients[k] = (ied_t*)apr_pcalloc(g_cfg_pool, sizeof(ied_t));}//ÿ g_node->clients[k] ָڴǶģÿ ied_t ṹռõڴ飩ָڴָ //ȡն̨˱滻Ϊwebӿ ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -13013,6 +13018,9 @@ void OnTimerThread::run() pgmin = localTime.tm_min; pgflag = 1; }*/ + + // + printf("check error10 !!!!!!!!!!!!!!\n"); //־¼ if (mp_num_hour != localTime.tm_hour) { @@ -13027,6 +13035,8 @@ void OnTimerThread::run() mp_num_hour = localTime.tm_hour; pthread_mutex_unlock(&mtx);// } + // + printf("check error11 !!!!!!!!!!!!!!\n"); } //ʹõĴlnk20241206 @@ -14091,6 +14101,10 @@ int update_one_terminal_ledger(terminal* update, int i,ied_t* ied,int terminal_i apr_snprintf(ied_usr->dev_type, sizeof(ied_usr->dev_type), "%s", update[i].dev_type); printf("ied_usr->dev_type: %s\n", ied_usr->dev_type); } + if (update[i].processNo != NULL) { + apr_snprintf(ied_usr->processNo, sizeof(ied_usr->processNo), "%s", update[i].processNo); + printf("ied_usr->processNo: %s\n", ied_usr->processNo); + } if (update[i].dev_series != NULL) { apr_snprintf(ied_usr->dev_series, sizeof(ied_usr->dev_series), "%s", update[i].dev_series); printf("ied_usr->dev_series: %s\n", ied_usr->dev_series); @@ -14278,7 +14292,7 @@ int update_one_terminal_ledger(terminal* update, int i,ied_t* ied,int terminal_i //lnk20250208 std::cout << "old space for LD_name" << std::endl; - apr_cpystrn(ied_usr->LD_info[cpuno - 1].LD_name, str, 256); + apr_cpystrn(ied_usr->LD_info[cpuno - 1].LD_name, str, sizeof(str)); } ldname = ied_usr->LD_info[cpuno - 1].LD_name; @@ -14350,6 +14364,9 @@ void write_log_entry(std::ofstream &log_file, const std::string &action, const s // ̨˸־ void create_ledger_log(trigger_update_xml_t* ledger_update_xml) { + + std::cout << "create_ledger_log." << std::endl; + std::string log_filename = "../etc/" + std::string(LEDGER_UPDATE_FN); std::ofstream log_file(log_filename.c_str(), std::ios::app); // ׷ģʽļ @@ -14512,7 +14529,7 @@ int parse_rpt_log_ini_one(ied_t* ied) // std::cout << "strlen(str):" << strlen(str) << "strlen(ied_usr->LD_info[cpuno].LD_name)" << strlen(ied_usr->LD_info[cpuno].LD_name) <LD_info[cpuno].LD_name, str, 256);//apr_palloc ֻǷһ̶Сڴ飬ûṩֱӵĻٻ֤ĿռǷѱʹû䵽ֱֵӸǼ + apr_cpystrn(ied_usr->LD_info[cpuno].LD_name, str, sizeof(str));//apr_palloc ֻǷһ̶Сڴ飬ûṩֱӵĻٻ֤ĿռǷѱʹû䵽ֱֵӸǼ } @@ -14563,11 +14580,16 @@ apr_status_t init_rem_dib_table_one(ied_t *ied) //λúg_nodeһ ied_usr = (ied_usr_t*)ied->usr_ext; - pos = ied_usr->dev_idx; + pos = ied_usr->dev_idx - 1; + + std::cout << "!!!!!!!!!rem_dib_table pos is " << pos << std::endl; for(chnl_no=0 ; chnl_nochncount; chnl_no++) { chnl_usr = (chnl_usr_t*)ied->channel[chnl_no].connect;//ʼʱѸռ g_pt61850app->chnl_usr[pos] = chnl_usr; + + std::cout << "!!!!!!!!!g_pt61850app pos " << pos << "is " << ied_usr->terminal_id << "is" << (chnl_usr == NULL?"NULL":"NOTNULL") << std::endl; + ip.s_addr = htonl(ied->channel[chnl_no].addr); strcpy(chnl_usr->ip_str,inet_ntoa(ip)); printf( " add_rem_dib_table %s:%d \n",chnl_usr->ip_str ,ied->channel[chnl_no].port ); diff --git a/include/rocketmq/SimpleProducer.h b/include/rocketmq/SimpleProducer.h index 35c7e9e..f35e5dc 100644 --- a/include/rocketmq/SimpleProducer.h +++ b/include/rocketmq/SimpleProducer.h @@ -21,6 +21,7 @@ void rocketmq_test_rt(); void rocketmq_test_ud(); void rocketmq_test_rc(); void rocketmq_test_set(); +void rocketmq_test_only(); void rocketmq_test_300(int mpnum,int front_index); } //void rocketmq_test_300(int mpnum,int front_index);//20241202lnk diff --git a/json/save2json.cpp b/json/save2json.cpp index 6eae0da..29ee50e 100644 --- a/json/save2json.cpp +++ b/json/save2json.cpp @@ -1017,7 +1017,7 @@ void parse_set(const std::string& json_str) { return; } - cJSON* index = cJSON_GetObjectItem(root, "index"); + cJSON* index = cJSON_GetObjectItem(messageBoy, "index"); if (index == nullptr) { std::cout << "Missing 'index' in JSON." << std::endl; cJSON_Delete(root); @@ -1047,7 +1047,7 @@ void parse_set(const std::string& json_str) { if(g_node_id == STAT_DATA_BASE_NODE_ID && g_front_seg_index == 1){ std::cout << "cfg_stat_data process" << g_front_seg_index <<" handle this msg" << std::endl; // set_process - cJSON* data = cJSON_GetObjectItem(root, "data"); + cJSON* data = cJSON_GetObjectItem(messageBoy, "data"); if (data != nullptr && data->type == cJSON_Array) { int data_size = cJSON_GetArraySize(data); for (int i = 0; i < data_size; i++) { @@ -1084,7 +1084,7 @@ void parse_set(const std::string& json_str) { if(g_node_id == STAT_DATA_BASE_NODE_ID && g_front_seg_index == 1){ std::cout << "cfg_stat_data process" << g_front_seg_index <<" handle this msg" << std::endl; // set_process - cJSON* data = cJSON_GetObjectItem(root, "data"); + cJSON* data = cJSON_GetObjectItem(messageBoy, "data"); if (data != nullptr && data->type == cJSON_Array) { int data_size = cJSON_GetArraySize(data); for (int i = 0; i < data_size; i++) { diff --git a/json/save2json.h b/json/save2json.h index a229573..dcc31f5 100644 --- a/json/save2json.h +++ b/json/save2json.h @@ -220,6 +220,11 @@ private slots: historyIndex = commandHistory.size(); // } + // 洢ǰ + if (!currentCommand.isEmpty() && command != "up" && command != "down" && command != "\x7f") { + currentCommand.append(command); + } + // ͻ˷ָ͡롱 clientSocket->write("Received command\n> "); clientSocket->flush(); @@ -281,6 +286,12 @@ private slots: rocketmq_test_set(); // set clientSocket->write("Executed rocketmq_test_set\n> "); } + else if (command.startsWith("only")) { + qDebug() << "Executing rocketmq_test_only()"; + std::cout << "Executing rocketmq_test_only()\n"; + rocketmq_test_only(); // set + clientSocket->write("Executed rocketmq_test_only\n> "); + } else if (command.startsWith("ledger")) { qDebug() << "Executing ledger()"; std::cout << "Executing ledger()\n"; @@ -326,26 +337,29 @@ private slots: } } // ʷ - else if (command == "up" || command == "down") { - // ¼ͷ - if (command == "up") { - // ϼͷѡǰһʷ - if (historyIndex > 0) { - historyIndex--; - } - } else if (command == "down") { - // ¼ͷѡһʷ - if (historyIndex < commandHistory.size() - 1) { - historyIndex++; - } - } - // ʷʷ - if (historyIndex >= 0 && historyIndex < commandHistory.size()) { + // ¼ʷ + if (command == "up") { + if (historyIndex > 0) { + historyIndex--; clientSocket->write(commandHistory[historyIndex].toUtf8()); } else { - clientSocket->write("No history available\n> "); + clientSocket->write("No previous command\n> "); + } + } else if (command == "down") { + if (historyIndex < commandHistory.size() - 1) { + historyIndex++; + clientSocket->write(commandHistory[historyIndex].toUtf8()); + } else { + clientSocket->write("No next command\n> "); + } + } + + // backspace + else if (command == "\x7f") { + if (!currentCommand.isEmpty()) { + currentCommand.chop(1); // ɾһַ + clientSocket->write(currentCommand.toUtf8()); } - clientSocket->flush(); } // exit else if (command == "exit") { @@ -369,6 +383,7 @@ signals: private: QList commandHistory; // 洢ʷ int historyIndex = -1; // ǰʷ + QString currentCommand; // ǰ QTcpServer *server; QTimer *timer; int TEST_NUM; diff --git a/mms/main.c b/mms/main.c index 8539a8f..28bffe1 100644 --- a/mms/main.c +++ b/mms/main.c @@ -326,6 +326,8 @@ int main(int argc, const char **argv) exit(-1039); } + // + printf("check error12 !!!!!!!!!!!!!!\n"); //lnk20241211 ӲԿ pthread_mutex_lock(&mtx);//̶߳ʱɨȡ̨˼ if (!G_TEST_FLAG && g_front_num_count >= 30 && g_onlyIP[0] == 0 && g_node->n_clients>10) {//30Ҳǵ̨˴ʮն @@ -337,6 +339,8 @@ int main(int argc, const char **argv) exit(-1039); } pthread_mutex_unlock(&mtx); + // + printf("check error13 !!!!!!!!!!!!!!\n"); } diff --git a/mms/mms_process.c b/mms/mms_process.c index ab6f5c4..69a8b28 100644 --- a/mms/mms_process.c +++ b/mms/mms_process.c @@ -912,6 +912,10 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml) }//̨Сڵ趨̨ else{ + + // + printf("!!!!!!!!!!gnodeindex:%d!!!!!!\n",new_client_count - 1); + // ̨е̨м¼ g_node->clients[new_client_count - 1] = (ied_t*)apr_pcalloc(g_cfg_pool, sizeof(ied_t)); @@ -980,6 +984,9 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml) parse_rpt_log_ini_one(ied); //5-ʼ/////////////////////////////////// + // + printf("ledger id: %s\n", ((ied_usr_t*)ied->channel[0].ied->usr_ext)->terminal_id); + //6-init_rem_dib_table////////////////////////////// init_rem_dib_table_one(ied); //6-init_rem_dib_table/////////////////////////////////// @@ -1227,23 +1234,36 @@ void check_ledger_update()//lnk20250113 if ( fabs(now - last_check_3s_config_time) < 3*1000 ) //wait 3secs //ǰִʱ鿴ǰʱϴִʱС3벻ִУڵ3ִ return; - trigger_update_xml_t trigger_ledger_update_xml; //̨˸ļṹ + // ̬ڴ trigger_ledger_update_xml ṹ + trigger_update_xml_t* trigger_ledger_update_xml = (trigger_update_xml_t*)malloc(sizeof(trigger_update_xml_t)); + if (trigger_ledger_update_xml == NULL) { + printf("Memory allocation failed!\n"); + return; // ڴʧܣ + } - printf("check ledger update...\n"); + //ÿζʼֹظ + memset(trigger_ledger_update_xml, 0, sizeof(trigger_update_xml_t)); + + + + printf("check ledger update...trigger_ledger_update_xml:%d\n",trigger_ledger_update_xml->modify_update_num); last_check_3s_config_time = now; //¼ʱ //жǷִһļһնˣȡļɾļ - if (APR_SUCCESS==parse_ledger_update_xml(&trigger_ledger_update_xml)){ //̨˸ļ,пԸ»̨˵ + if (APR_SUCCESS==parse_ledger_update_xml(trigger_ledger_update_xml)){ //̨˸ļ,пԸ»̨˵ // - print_trigger_update_xml(&trigger_ledger_update_xml); + print_trigger_update_xml(trigger_ledger_update_xml); //̨˸¼̨lnk20250114 pthread_mutex_lock(&mtx); - process_ledger_update(&trigger_ledger_update_xml); //̨˸ + process_ledger_update(trigger_ledger_update_xml); //̨˸ pthread_mutex_unlock(&mtx); } + + // ʹͷŶ̬ڴ + free(trigger_ledger_update_xml); } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #ifdef _OS_UNIX_ @@ -1510,7 +1530,10 @@ void CheckNextNotConnectedChannel() do { chnl_usr = g_pt61850app->chnl_usr[chnl_total_no]; chnl_total_no = (chnl_total_no+1) % g_pt61850app->chnl_counts; - } while ( (g_onlyIP[0]!=0) && (strcmp(g_onlyIP,chnl_usr->ip_str)!=0) ) ; + } while ( (g_onlyIP[0]!=0) && (strcmp(g_onlyIP,chnl_usr->ip_str)!=0) ); + + printf("check error chnl_total_no !!!!!!!!!!!!!! %d\n",chnl_total_no); + //10-11-01 22:03 beijing if( ( (chnl_total_no+1)==g_pt61850app->chnl_counts) || (g_onlyIP[0]!=0) ){ if(g_pt61850app->initNum<255) @@ -1533,13 +1556,22 @@ void CheckNextNotConnectedChannel() // } //} } + + printf("check error94 !!!!!!!!!!!!!!\n"); + + printf("check error %s !!!!!!!!!!!!!!\n",((ied_usr_t*)chnl_usr->chnl->ied->usr_ext)->terminal_id); + if(chnl_usr->m_state == CHANNEL_CONNECTING)// { - MVL_REQ_PEND* reqCtrl= chnl_usr->m_reqCtrl ; + printf("check error93 !!!!!!!!!!!!!!\n"); + MVL_REQ_PEND* reqCtrl= chnl_usr->m_reqCtrl ; + printf("check error60 !!!!!!!!!!!!!!\n"); if( reqCtrl->done == SD_TRUE) { + printf("check error92 !!!!!!!!!!!!!!\n"); if(reqCtrl->result == SD_SUCCESS) { + printf("check error91 !!!!!!!!!!!!!!\n"); ALL_RCB_INFO *all_rcb_info; // cout<GetIP()<<" CHANNEL_CONNECTED netInfo "<net_info<chnl->ied->usr_ext; connectlog_pgsql(ied_usr->terminal_code,convertMsToDateTimeString((int)sGetMsTime()),1);//1ɹ - + } else {// solaris 9 224 + printf("check error90 !!!!!!!!!!!!!!\n"); int secsSince = (int)(sGetMsTime() - chnl_usr->m_StartConnectingTime)/1000 ; //cout<<"reqCtrl->result == FAIL, Since StartConnecting "<GetIP()<<" !!! "<chnl->ied->usr_ext; if (g_node_id == STAT_DATA_BASE_NODE_ID || g_node_id == NEW_HIS_DATA_BASE_NODE_ID) { //lnk202411-4 //connectlog_pgsql(ied_usr->terminal_code);//ʧ + printf("check error89 !!!!!!!!!!!!!!\n"); connectlog_pgsql(ied_usr->terminal_code,convertMsToDateTimeString((int)sGetMsTime()),0);//0ʧ + printf("check error88 !!!!!!!!!!!!!!\n"); } printf( "reqCtrl->result == FAIL, Since StartConnecting %i ,channel IP %s:%d \n",secsSince,chnl_usr->ip_str,chnl_usr->chnl->port); mvl_free_req_ctrl(chnl_usr->m_reqCtrl); @@ -1595,6 +1630,7 @@ void CheckNextNotConnectedChannel() } else {// + printf("check error61 !!!!!!!!!!!!!!\n"); if ( (sGetMsTime() - chnl_usr->m_StartConnectingTime) > 300*1000 ) //300*1000 ) //wait 300 secs ????? { ied_usr_t* ied_usr = (ied_usr_t*)chnl_usr->chnl->ied->usr_ext; @@ -1628,16 +1664,25 @@ void CheckNextNotConnectedChannel() else if(chnl_usr->m_state == CHANNEL_DISCONNECTED) { + // + printf("check error99 !!!!!!!!!!!!!!\n"); + if ( (sGetMsTime() - chnl_usr->m_ClosedMsTime) > NEXT_CONNECT_TIME ) //wait 10 secs { + + // + printf("check error98 !!!!!!!!!!!!!!\n"); + ST_RET ret; ST_CHAR serverARName[32]; ied_usr_t *ied_usr = (ied_usr_t*)chnl_usr->chnl->ied->usr_ext; apr_snprintf(serverARName,sizeof(serverARName),"%s:%d",chnl_usr->ip_str,chnl_usr->chnl->port); if (chnl_usr->chnl->ied->cpucount != NULL && chnl_usr->chnl->ied->cpucount > 0 && ied_usr->dev_flag == ENABLE) {//2023-09-26 czy line count<0 Ҫ//lnk20250121նЧ ret = mms_connectToServer(ied_usr->dev_key, ied_usr->dev_series, serverARName, &(chnl_usr->net_info), &(chnl_usr->m_reqCtrl)); + printf("check error73 !!!!!!!!!!!!!!\n"); if (ret == SD_SUCCESS) { + printf("check error74 !!!!!!!!!!!!!!\n"); //if(chnl_usr->chnl->ied->id==virtual_ied){ // chnl_usr->m_state = CHANNEL_CONNECTED; // chnl_usr->chnl->ied->status = STATUS_NORMAL; @@ -1659,11 +1704,16 @@ void CheckNextNotConnectedChannel() } else { + // + printf("check error97 !!!!!!!!!!!!!!\n"); chnl_usr->m_ClosedMsTime = sGetMsTime(); if (g_node_id == STAT_DATA_BASE_NODE_ID || g_node_id == NEW_HIS_DATA_BASE_NODE_ID) { //lnk202411-4 //connectlog_pgsql(ied_usr->terminal_code);//ʧ + // + printf("check error96 !!!!!!!!!!!!!!\n"); connectlog_pgsql(ied_usr->terminal_code,convertMsToDateTimeString((int)sGetMsTime()),0);//0ʧ + printf("check error95 !!!!!!!!!!!!!!\n"); } echo_warn3("FAILED: mms_connectToServer IP %s:%d ,NetInfo= %x \n", chnl_usr->ip_str, chnl_usr->chnl->port, chnl_usr->net_info); } @@ -1673,9 +1723,11 @@ void CheckNextNotConnectedChannel() }//if(pChannel->m_state == CHANNEL_DISCONNECTED) else if(chnl_usr->m_state == CHANNEL_DISCONNECTING) //need check timeout?᲻Զͣ??? { + printf("check error92 !!!!!!!!!!!!!!\n"); MVL_REQ_PEND* reqCtrl= chnl_usr->m_reqCtrl ; if( reqCtrl->done == SD_TRUE) - { + { + printf("check error72 !!!!!!!!!!!!!!\n"); //cout<GetIP()<<" CHANNEL_DISCONNECTING done"<ip_str,chnl_usr->chnl->port,chnl_usr->net_info); mvl_free_req_ctrl(chnl_usr->m_reqCtrl); @@ -1690,11 +1742,12 @@ void CheckNextNotConnectedChannel() } else {// + printf("check error70 !!!!!!!!!!!!!!\n"); // cout<GetIP()<<" CHANNEL_DISCONNECTING waiting ..."<ip_str,chnl_usr->net_info); if ( (sGetMsTime() - chnl_usr->m_StartDisconnectingTime) > 30*1000 ) // //wait 30 secs ????? - { + { printf("check error71 !!!!!!!!!!!!!!\n"); //cout<GetIP()<<"CHANNEL_DISCONNECTING reqCtrl->done == SD_false but time over 180 secs, close channel !!!"<doneδ,but time over 180 secs, close channel IP %s,NetInfo= %x ",chnl_usr->ip_str,chnl_usr->net_info); mvl_free_req_ctrl(chnl_usr->m_reqCtrl); @@ -1710,6 +1763,7 @@ void CheckNextNotConnectedChannel() } }//if(pChannel->m_state == CHANNEL_DISCONNECTING) ////////////////// + printf("check error77 !!!!!!!!!!!!!!\n"); } //////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/mms/mmscli_rpt.c b/mms/mmscli_rpt.c index 4488e1d..0849a4b 100644 --- a/mms/mmscli_rpt.c +++ b/mms/mmscli_rpt.c @@ -2153,10 +2153,14 @@ ST_RET u_iec_rpt_ind(MVL_COMM_EVENT* event) /* Perform 3rd decode (everything). */ mvl_info_data_to_local(event, va_num, info_va); + // + printf("check error14 !!!!!!!!!!!!!!\n"); //洦lnk20250114 pthread_mutex_lock(&mtx); u_iec_rpt_ind_data(info_va, OptFldsData, InclusionData, rcb_info, va_total, event->net_info); pthread_mutex_unlock(&mtx); + // + printf("check error15 !!!!!!!!!!!!!!\n"); } CLEANUP: diff --git a/mms/rdb_client.c b/mms/rdb_client.c index 4c5572c..c78205b 100644 --- a/mms/rdb_client.c +++ b/mms/rdb_client.c @@ -283,11 +283,15 @@ apr_status_t run_protocol() if (g_onlyIP[0] != 0 || g_node_id == NEW_HIS_DATA_BASE_NODE_ID || g_node_id == HIS_DATA_BASE_NODE_ID || g_node_id == RECALL_ALL_DATA_BASE_NODE_ID) { printf("g_onlyIP[0] != 0!\n\a"); + + //lnk20250211ǰõĽ̺Ϊ999ڵ鿴־,webһֻܿһ鿴 + g_front_seg_index = 999; + } else { printf("g_onlyIP[0] == 0!\n\a"); - if(1 == SOCKETENABLE) + if (1 == SOCKETENABLE) { server_socket = socket(AF_INET, SOCK_STREAM, 0); if (server_socket == -1) { @@ -332,7 +336,8 @@ apr_status_t run_protocol() printf("try_start_socket_thread \n"); try_start_socket_thread(); } - if(HTTPENABLE) + + if (1 == HTTPENABLE) { //lnk20241029http߳/////////////////////////////////////////////////////////////////////////////////////////////// if (g_node_id == STAT_DATA_BASE_NODE_ID)//ͳƲɼ @@ -352,30 +357,29 @@ apr_status_t run_protocol() try_start_http_thread(); //lnk20241029http߳/////////////////////////////////////////////////////////////////////////////////////////////////// } + + if (1 == G_TEST_FLAG) { + //lnkmqģ + printf("try_start_mqtest_thread \n"); + try_start_mqtest_thread(0,NULL); + } } - if (1 == G_TEST_FLAG) { - //lnkmqģ - printf("try_start_mqtest_thread \n"); - try_start_mqtest_thread(0,NULL); - } - +//lnkɾݿ߳ +#if 0 if (1 == g_iOTLFlag) { printf("try_start_sql_thread \n"); try_start_sql_thread(); } else printf("sql_thread ignore \n"); - +#endif printf("try_start_ontimer_thread \n"); try_start_ontimer_thread(); - - //OTLTestSelect();//ݿ - ///////////////////WW end return APR_SUCCESS; @@ -396,29 +400,59 @@ static void* APR_THREAD_FUNC rtdb_worker(apr_thread_t* thd, void* data) /*÷rocketmqϢ lnk10-10*/ //producer_send0(); + // + printf("check error4 !!!!!!!!!!!!!!\n"); + doCommService();//61850Ϣ + + // + printf("check error5 !!!!!!!!!!!!!!\n"); + check_3s_config();//3ݽ̶ȡ3봥 + // + printf("check error6 !!!!!!!!!!!!!!\n"); + pthread_mutex_lock(&mtx); CheckNextNotConnectedChannel();//гӽж״̬ pthread_mutex_unlock(&mtx); + // + printf("check error7 !!!!!!!!!!!!!!\n"); + pthread_mutex_lock(&mtx); CheckAllConnectedChannel();//桢־١ pthread_mutex_unlock(&mtx); + // + printf("check error8 !!!!!!!!!!!!!!\n"); + //check_recall_config();//ٽ̶ȡϢ create_recall_xml();//ɴxmlļ + // + printf("check error9 !!!!!!!!!!!!!!\n"); + check_ledger_update();//lnk20250113ȡ̨˸£̨˸ + // + printf("check error3 !!!!!!!!!!!!!!\n"); + //Check_Recall_Config(); /*if ((g_protect_file) && (g_pt61850app->initNum>=MIN_INIT_NUM) ) { tryCallWaveList_in_AllIeds(); }*/ //clear_old_comtrade_files(); check_disk_quota();//жϴ̿ռ + + // + printf("check error1 !!!!!!!!!!!!!!\n"); + apr_pool_clear(g_pt61850app->tmp_pool);//ʱ + + // + printf("check error2 !!!!!!!!!!!!!!\n"); + g_dead_lock_counter = 0; g_thread_blocked_times = 0;//߳ } diff --git a/mms/rdb_client.h b/mms/rdb_client.h index 7fde5a4..604e4bf 100644 --- a/mms/rdb_client.h +++ b/mms/rdb_client.h @@ -97,7 +97,7 @@ struct ied_info_t{ char value[50][20]; }; //lnk20250113̨˸½ṹ/////////////////////////////// -#define MAX_UPDATEA_NUM 300 +#define MAX_UPDATEA_NUM 10 typedef struct trigger_update_xml_t trigger_update_xml_t; struct trigger_update_xml_t{ int work_update_num;