mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-16 23:08:32 +00:00
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
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user