Skip to content
Snippets Groups Projects
Commit 7b823e9f authored by Sean Bright's avatar Sean Bright
Browse files

When trying to unload res_curl.so, warn about all dependent modules.

Before this, attempting to unload res_curl.so would warn you about the first
module it found that was dependent.  We now warn about all of the loaded modules
instead.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@373203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
parent ed442248
No related branches found
No related tags found
No related merge requests found
......@@ -39,20 +39,26 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/module.h"
static const char *dependents[] = {
"func_curl.so",
"res_config_curl.so",
};
static int unload_module(void)
{
int res = 0;
size_t i;
/* If the dependent modules are still in memory, forbid unload */
if (ast_module_check("func_curl.so")) {
ast_log(LOG_ERROR, "func_curl.so (dependent module) is still loaded. Cannot unload res_curl.so\n");
return -1;
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]);
res = -1;
}
}
if (ast_module_check("res_config_curl.so")) {
ast_log(LOG_ERROR, "res_config_curl.so (dependent module) is still loaded. Cannot unload res_curl.so\n");
if (res)
return -1;
}
curl_global_cleanup();
......@@ -64,7 +70,7 @@ static int load_module(void)
int res = 0;
if (curl_global_init(CURL_GLOBAL_ALL)) {
ast_log(LOG_ERROR, "Unable to initialize the CURL library. Cannot load res_curl\n");
ast_log(LOG_ERROR, "Unable to initialize the cURL library. Cannot load res_curl.so\n");
return AST_MODULE_LOAD_DECLINE;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment