[Asterisk-code-review] modules: change module LOAD FAILUREs to LOAD DECLINES (14) (asterisk[master])

Joshua Colp asteriskteam at digium.com
Thu Apr 13 07:06:52 CDT 2017


Joshua Colp has submitted this change and it was merged. ( https://gerrit.asterisk.org/5457 )

Change subject: modules:  change module LOAD_FAILUREs to LOAD_DECLINES (14)
......................................................................


modules:  change module LOAD_FAILUREs to LOAD_DECLINES (14)

Change-Id: If99e3b4fc2d7e86fc3e61182aa6c835b407ed49e
---
M formats/format_ogg_speex.c
M res/res_ari_events.c
M res/res_http_media_cache.c
M rest-api-templates/res_ari_resource.c.mustache
M tests/test_media_cache.c
5 files changed, 22 insertions(+), 15 deletions(-)

Approvals:
  Richard Mudgett: Looks good to me, but someone else must approve
  Anonymous Coward #1000019: Verified
  Joshua Colp: Looks good to me, approved



diff --git a/formats/format_ogg_speex.c b/formats/format_ogg_speex.c
index 747adb3..331c544 100644
--- a/formats/format_ogg_speex.c
+++ b/formats/format_ogg_speex.c
@@ -312,6 +312,15 @@
 	.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,19 +330,11 @@
 	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",
diff --git a/res/res_ari_events.c b/res/res_ari_events.c
index 8d8a303..76b7917 100644
--- a/res/res_ari_events.c
+++ b/res/res_ari_events.c
@@ -422,6 +422,7 @@
 	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 @@
 	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 @@
 	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 8c67285..175f24c 100644
--- a/res/res_http_media_cache.c
+++ b/res/res_http_media_cache.c
@@ -425,13 +425,13 @@
 	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 ca4e2f1..3ccafcd 100644
--- a/rest-api-templates/res_ari_resource.c.mustache
+++ b/rest-api-templates/res_ari_resource.c.mustache
@@ -263,6 +263,7 @@
 {{#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 @@
 	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 @@
 	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 34f5319..c35e43f 100644
--- a/tests/test_media_cache.c
+++ b/tests/test_media_cache.c
@@ -397,7 +397,7 @@
 	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);

-- 
To view, visit https://gerrit.asterisk.org/5457
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: If99e3b4fc2d7e86fc3e61182aa6c835b407ed49e
Gerrit-PatchSet: 3
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>



More information about the asterisk-code-review mailing list