summaryrefslogtreecommitdiff
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r--channels/chan_sip.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index b547edb23..1d9c2d982 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -34331,7 +34331,6 @@ static int load_module(void)
if (!(io = io_context_create())) {
ast_log(LOG_ERROR, "Unable to create I/O context\n");
- ast_sched_context_destroy(sched);
return AST_MODULE_LOAD_FAILURE;
}
@@ -34339,6 +34338,7 @@ static int load_module(void)
can_parse_xml = sip_is_xml_parsable();
if (reload_config(sip_reloadreason)) { /* Load the configuration from sip.conf */
+ ast_sip_api_provider_unregister();
return AST_MODULE_LOAD_DECLINE;
}
@@ -34409,11 +34409,13 @@ static int load_module(void)
initialize_escs();
if (sip_epa_register(&cc_epa_static_data)) {
+ ast_sip_api_provider_unregister();
return AST_MODULE_LOAD_DECLINE;
}
if (sip_reqresp_parser_init() == -1) {
ast_log(LOG_ERROR, "Unable to initialize the SIP request and response parser\n");
+ ast_sip_api_provider_unregister();
return AST_MODULE_LOAD_DECLINE;
}
@@ -34422,13 +34424,16 @@ static int load_module(void)
* in incoming PUBLISH requests
*/
if (ast_cc_agent_register(&sip_cc_agent_callbacks)) {
+ ast_sip_api_provider_unregister();
return AST_MODULE_LOAD_DECLINE;
}
}
if (ast_cc_monitor_register(&sip_cc_monitor_callbacks)) {
+ ast_sip_api_provider_unregister();
return AST_MODULE_LOAD_DECLINE;
}
if (!(sip_monitor_instances = ao2_container_alloc(37, sip_monitor_instance_hash_fn, sip_monitor_instance_cmp_fn))) {
+ ast_sip_api_provider_unregister();
return AST_MODULE_LOAD_DECLINE;
}