Continue session in case GetRPCMethods failing

This commit is contained in:
Omar Kallel 2022-05-31 17:18:48 +01:00
parent 617f537109
commit 643af329ff

12
cwmp.c
View file

@ -179,13 +179,21 @@ int cwmp_schedule_rpc(struct cwmp *cwmp, struct session *session)
goto retry;
CWMP_LOG(INFO, "Send the %s RPC message to the ACS", rpc_acs_methods[rpc_acs->type].name);
if (xml_send_message(cwmp, session, rpc_acs) || thread_end)
if (xml_send_message(cwmp, session, rpc_acs)) {
if (rpc_acs->type == RPC_ACS_GET_RPC_METHODS)
continue;
else
goto retry;
}
CWMP_LOG(INFO, "Get the %sResponse message from the ACS", rpc_acs_methods[rpc_acs->type].name);
if (rpc_acs_methods[rpc_acs->type].parse_response || thread_end)
if (rpc_acs_methods[rpc_acs->type].parse_response(cwmp, session, rpc_acs))
if (rpc_acs_methods[rpc_acs->type].parse_response(cwmp, session, rpc_acs)) {
if (rpc_acs->type == RPC_ACS_GET_RPC_METHODS)
continue;
else
goto retry;
}
ilist = ilist->prev;
if (rpc_acs_methods[rpc_acs->type].extra_clean != NULL)