MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / xmlrpc_process

Function xmlrpc_process

modules/event_xmlrpc/xmlrpc_send.c:513–549  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

511}
512
513void xmlrpc_process(int rank)
514{
515 enum evi_status status;
516
517 /* init blocking reader */
518 xmlrpc_init_reader();
519 xmlrpc_init_send_buf();
520 xmlrpc_send_t * xmlrpcs;
521
522 /* suppress the E_CORE_LOG event for new logs while handling
523 * the event itself */
524 suppress_proc_log_event();
525
526 /* waiting for commands */
527 for (;;) {
528 xmlrpcs = xmlrpc_receive();
529 if (!xmlrpcs) {
530 LM_ERR("invalid receive sock info\n");
531 goto end;
532 }
533
534 /* send msg */
535 if (xmlrpc_sendmsg(xmlrpcs)) {
536 LM_ERR("cannot send message\n");
537 status = EVI_STATUS_FAIL;
538 } else
539 status = EVI_STATUS_SUCCESS;
540
541 if (xmlrpcs->async_ctx.status_cb)
542 xmlrpc_dispatch_status_cb(&xmlrpcs->async_ctx, status);
543end:
544 if (xmlrpcs)
545 shm_free(xmlrpcs);
546 }
547
548 reset_proc_log_event();
549}

Callers

nothing calls this directly

Calls 8

xmlrpc_init_readerFunction · 0.85
xmlrpc_init_send_bufFunction · 0.85
suppress_proc_log_eventFunction · 0.85
xmlrpc_receiveFunction · 0.85
xmlrpc_sendmsgFunction · 0.85
shm_freeFunction · 0.85
reset_proc_log_eventFunction · 0.85

Tested by

no test coverage detected