From 6db0939b96017b468d2d368e67669fd02b2fdecc Mon Sep 17 00:00:00 2001 From: George Joseph <gjoseph@digium.com> Date: Wed, 12 Apr 2017 06:47:59 -0600 Subject: [PATCH] modules: change module LOAD_FAILUREs to LOAD_DECLINES (14) Change-Id: If99e3b4fc2d7e86fc3e61182aa6c835b407ed49e --- formats/format_ogg_speex.c | 21 ++++++++++--------- res/res_ari_events.c | 5 ++++- res/res_http_media_cache.c | 4 ++-- .../res_ari_resource.c.mustache | 5 ++++- tests/test_media_cache.c | 2 +- 5 files changed, 22 insertions(+), 15 deletions(-) diff --git a/formats/format_ogg_speex.c b/formats/format_ogg_speex.c index 747adb37ff..331c544358 100644 --- a/formats/format_ogg_speex.c +++ b/formats/format_ogg_speex.c @@ -312,6 +312,15 @@ static struct ast_format_def speex32_f = { .desc_size = sizeof(struct speex_desc), }; +static int unload_module(void) +{ + int res = 0; + res |= ast_format_def_unregister(speex_f.name); + res |= ast_format_def_unregister(speex16_f.name); + res |= ast_format_def_unregister(speex32_f.name); + return res; +} + static int load_module(void) { speex_f.format = ast_format_speex; @@ -321,21 +330,13 @@ static int load_module(void) if (ast_format_def_register(&speex_f) || ast_format_def_register(&speex16_f) || ast_format_def_register(&speex32_f)) { - return AST_MODULE_LOAD_FAILURE; + unload_module(); + return AST_MODULE_LOAD_DECLINE; } return AST_MODULE_LOAD_SUCCESS; } -static int unload_module(void) -{ - int res = 0; - res |= ast_format_def_unregister(speex_f.name); - res |= ast_format_def_unregister(speex16_f.name); - res |= ast_format_def_unregister(speex32_f.name); - return res; -} - AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "OGG/Speex audio", .load = load_module, .unload = unload_module, diff --git a/res/res_ari_events.c b/res/res_ari_events.c index 8d8a303d1a..76b7917199 100644 --- a/res/res_ari_events.c +++ b/res/res_ari_events.c @@ -422,6 +422,7 @@ static int unload_module(void) ast_ari_remove_handler(&events); ao2_cleanup(events.ws_server); events.ws_server = NULL; + ast_ari_websocket_events_event_websocket_dtor(); stasis_app_unref(); return 0; } @@ -432,11 +433,12 @@ static int load_module(void) struct ast_websocket_protocol *protocol; if (ast_ari_websocket_events_event_websocket_init() == -1) { - return AST_MODULE_LOAD_FAILURE; + return AST_MODULE_LOAD_DECLINE; } events.ws_server = ast_websocket_server_create(); if (!events.ws_server) { + ast_ari_websocket_events_event_websocket_dtor(); return AST_MODULE_LOAD_DECLINE; } @@ -444,6 +446,7 @@ static int load_module(void) if (!protocol) { ao2_ref(events.ws_server, -1); events.ws_server = NULL; + ast_ari_websocket_events_event_websocket_dtor(); return AST_MODULE_LOAD_DECLINE; } protocol->session_attempted = ast_ari_events_event_websocket_ws_attempted_cb; diff --git a/res/res_http_media_cache.c b/res/res_http_media_cache.c index 8c67285866..175f24c926 100644 --- a/res/res_http_media_cache.c +++ b/res/res_http_media_cache.c @@ -425,13 +425,13 @@ static int load_module(void) if (ast_bucket_scheme_register("http", &http_bucket_wizard, &http_bucket_file_wizard, NULL, NULL)) { ast_log(LOG_ERROR, "Failed to register Bucket HTTP wizard scheme implementation\n"); - return AST_MODULE_LOAD_FAILURE; + return AST_MODULE_LOAD_DECLINE; } if (ast_bucket_scheme_register("https", &https_bucket_wizard, &https_bucket_file_wizard, NULL, NULL)) { ast_log(LOG_ERROR, "Failed to register Bucket HTTPS wizard scheme implementation\n"); - return AST_MODULE_LOAD_FAILURE; + return AST_MODULE_LOAD_DECLINE; } return AST_MODULE_LOAD_SUCCESS; diff --git a/rest-api-templates/res_ari_resource.c.mustache b/rest-api-templates/res_ari_resource.c.mustache index ca4e2f192a..3ccafcd082 100644 --- a/rest-api-templates/res_ari_resource.c.mustache +++ b/rest-api-templates/res_ari_resource.c.mustache @@ -263,6 +263,7 @@ static int unload_module(void) {{#has_websocket}} ao2_cleanup({{full_name}}.ws_server); {{full_name}}.ws_server = NULL; + ast_ari_websocket_events_event_websocket_dtor(); {{/has_websocket}} {{/apis}} stasis_app_unref(); @@ -278,11 +279,12 @@ static int load_module(void) struct ast_websocket_protocol *protocol; if (ast_ari_websocket_{{c_name}}_{{c_nickname}}_init() == -1) { - return AST_MODULE_LOAD_FAILURE; + return AST_MODULE_LOAD_DECLINE; } {{full_name}}.ws_server = ast_websocket_server_create(); if (!{{full_name}}.ws_server) { + ast_ari_websocket_events_event_websocket_dtor(); return AST_MODULE_LOAD_DECLINE; } @@ -290,6 +292,7 @@ static int load_module(void) if (!protocol) { ao2_ref({{full_name}}.ws_server, -1); {{full_name}}.ws_server = NULL; + ast_ari_websocket_events_event_websocket_dtor(); return AST_MODULE_LOAD_DECLINE; } protocol->session_attempted = ast_ari_{{c_name}}_{{c_nickname}}_ws_attempted_cb; diff --git a/tests/test_media_cache.c b/tests/test_media_cache.c index 34f53190a1..c35e43f0d6 100644 --- a/tests/test_media_cache.c +++ b/tests/test_media_cache.c @@ -397,7 +397,7 @@ static int load_module(void) if (ast_bucket_scheme_register("httptest", &bucket_test_wizard, &bucket_file_test_wizard, NULL, NULL)) { ast_log(LOG_ERROR, "Failed to register Bucket HTTP test wizard scheme implementation\n"); - return AST_MODULE_LOAD_FAILURE; + return AST_MODULE_LOAD_DECLINE; } AST_TEST_REGISTER(exists_nominal); -- GitLab