diff options
Diffstat (limited to 'res')
-rw-r--r-- | res/res_curl.c | 16 | ||||
-rw-r--r-- | res/res_http_websocket.c | 3 | ||||
-rw-r--r-- | res/res_odbc.c | 13 | ||||
-rw-r--r-- | res/stasis/app.c | 16 |
4 files changed, 10 insertions, 38 deletions
diff --git a/res/res_curl.c b/res/res_curl.c index e5eaa7d5f..aa10eff91 100644 --- a/res/res_curl.c +++ b/res/res_curl.c @@ -61,7 +61,9 @@ static int unload_module(void) /* If the dependent modules are still in memory, forbid unload */ for (i = 0; i < ARRAY_LEN(dependents); i++) { if (ast_module_check(dependents[i])) { - ast_log(LOG_ERROR, "%s (dependent module) is still loaded. Cannot unload res_curl.so\n", dependents[i]); + if (!ast_shutting_down()) { + ast_log(LOG_WARNING, "%s (dependent module) is still loaded. Cannot unload res_curl.so\n", dependents[i]); + } res = -1; } } @@ -74,19 +76,9 @@ static int unload_module(void) return res; } -/*! - * \brief Load the module - * - * Module loading including tests for configuration or dependencies. - * This function can return AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_DECLINE, - * or AST_MODULE_LOAD_SUCCESS. If a dependency or environment variable fails - * tests return AST_MODULE_LOAD_FAILURE. If the module can not load the - * configuration file or other non-critical problem return - * AST_MODULE_LOAD_DECLINE. On success return AST_MODULE_LOAD_SUCCESS. - */ static int load_module(void) { - int res = 0; + int res = AST_MODULE_LOAD_SUCCESS; if (curl_global_init(CURL_GLOBAL_ALL)) { ast_log(LOG_ERROR, "Unable to initialize the cURL library. Cannot load res_curl.so\n"); diff --git a/res/res_http_websocket.c b/res/res_http_websocket.c index a65fc8ae2..956c52c54 100644 --- a/res/res_http_websocket.c +++ b/res/res_http_websocket.c @@ -291,6 +291,7 @@ int AST_OPTIONAL_API_NAME(ast_websocket_server_remove_protocol)(struct ast_webso /*! \brief Close function for websocket session */ int AST_OPTIONAL_API_NAME(ast_websocket_close)(struct ast_websocket *session, uint16_t reason) { + enum ast_websocket_opcode opcode = AST_WEBSOCKET_OPCODE_CLOSE; char frame[4] = { 0, }; /* The header is 2 bytes and the reason code takes up another 2 bytes */ int res; @@ -298,7 +299,7 @@ int AST_OPTIONAL_API_NAME(ast_websocket_close)(struct ast_websocket *session, ui return 0; } - frame[0] = AST_WEBSOCKET_OPCODE_CLOSE | 0x80; + frame[0] = opcode | 0x80; frame[1] = 2; /* The reason code is always 2 bytes */ /* If no reason has been specified assume 1000 which is normal closure */ diff --git a/res/res_odbc.c b/res/res_odbc.c index 73af22057..7395449c5 100644 --- a/res/res_odbc.c +++ b/res/res_odbc.c @@ -1068,16 +1068,6 @@ static int unload_module(void) return -1; } -/*! - * \brief Load the module - * - * Module loading including tests for configuration or dependencies. - * This function can return AST_MODULE_LOAD_FAILURE, AST_MODULE_LOAD_DECLINE, - * or AST_MODULE_LOAD_SUCCESS. If a dependency or environment variable fails - * tests return AST_MODULE_LOAD_FAILURE. If the module can not load the - * configuration file or other non-critical problem return - * AST_MODULE_LOAD_DECLINE. On success return AST_MODULE_LOAD_SUCCESS. - */ static int load_module(void) { if (!(class_container = ao2_container_alloc(1, null_hash_fn, ao2_match_by_addr))) @@ -1086,8 +1076,7 @@ static int load_module(void) return AST_MODULE_LOAD_DECLINE; ast_cli_register_multiple(cli_odbc, ARRAY_LEN(cli_odbc)); ast_data_register_multiple(odbc_providers, ARRAY_LEN(odbc_providers)); - ast_log(LOG_NOTICE, "res_odbc loaded.\n"); - return 0; + return AST_MODULE_LOAD_SUCCESS; } AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS | AST_MODFLAG_LOAD_ORDER, "ODBC resource", diff --git a/res/stasis/app.c b/res/stasis/app.c index 5366819b6..91b006572 100644 --- a/res/stasis/app.c +++ b/res/stasis/app.c @@ -1432,25 +1432,15 @@ int app_unsubscribe_bridge_id(struct stasis_app *app, const char *bridge_id) int app_is_subscribed_bridge_id(struct stasis_app *app, const char *bridge_id) { struct app_forwards *forwards; - SCOPED_AO2LOCK(lock, app->forwards); - - forwards = ao2_find(app->forwards, BRIDGE_ALL, OBJ_SEARCH_KEY | OBJ_NOLOCK); - if (forwards) { - ao2_ref(forwards, -1); - return 1; - } if (ast_strlen_zero(bridge_id)) { bridge_id = BRIDGE_ALL; } - forwards = ao2_find(app->forwards, bridge_id, OBJ_SEARCH_KEY | OBJ_NOLOCK); - if (forwards) { - ao2_ref(forwards, -1); - return 1; - } + forwards = ao2_find(app->forwards, bridge_id, OBJ_SEARCH_KEY); + ao2_cleanup(forwards); - return 0; + return forwards != NULL; } static void *bridge_find(const struct stasis_app *app, const char *id) |