summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2017-11-07 16:05:56 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2017-11-07 16:05:56 -0600
commitd253092064f3fe2f37a4c999cd86af40eb180a83 (patch)
treef9b3022063220d4787df7142d521561af84dbed2 /main
parent0553ee1b9e5c721d83f3495c99adea77d3142aec (diff)
parent66d7c8495ab9bc9c9f67822f941684f79607b1f8 (diff)
Merge "Messaging: Report error on failure to register tech or handler." into 15
Diffstat (limited to 'main')
-rw-r--r--main/message.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/main/message.c b/main/message.c
index fcdf705fe..ac7965ea7 100644
--- a/main/message.c
+++ b/main/message.c
@@ -1362,7 +1362,12 @@ int ast_msg_tech_register(const struct ast_msg_tech *tech)
return -1;
}
- AST_VECTOR_APPEND(&msg_techs, tech);
+ if (AST_VECTOR_APPEND(&msg_techs, tech)) {
+ ast_log(LOG_ERROR, "Failed to register message technology for '%s'\n",
+ tech->name);
+ ast_rwlock_unlock(&msg_techs_lock);
+ return -1;
+ }
ast_verb(3, "Message technology '%s' registered.\n", tech->name);
ast_rwlock_unlock(&msg_techs_lock);
@@ -1417,7 +1422,12 @@ int ast_msg_handler_register(const struct ast_msg_handler *handler)
return -1;
}
- AST_VECTOR_APPEND(&msg_handlers, handler);
+ if (AST_VECTOR_APPEND(&msg_handlers, handler)) {
+ ast_log(LOG_ERROR, "Failed to register message handler for '%s'\n",
+ handler->name);
+ ast_rwlock_unlock(&msg_handlers_lock);
+ return -1;
+ }
ast_verb(2, "Message handler '%s' registered.\n", handler->name);
ast_rwlock_unlock(&msg_handlers_lock);