mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-20 00:30:20 +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"
|
#include "asterisk/module.h"
|
||||||
|
|
||||||
|
static const char *dependents[] = {
|
||||||
|
"func_curl.so",
|
||||||
|
"res_config_curl.so",
|
||||||
|
};
|
||||||
|
|
||||||
static int unload_module(void)
|
static int unload_module(void)
|
||||||
{
|
{
|
||||||
int res = 0;
|
int res = 0;
|
||||||
|
size_t i;
|
||||||
|
|
||||||
/* If the dependent modules are still in memory, forbid unload */
|
/* If the dependent modules are still in memory, forbid unload */
|
||||||
if (ast_module_check("func_curl.so")) {
|
for (i = 0; i < ARRAY_LEN(dependents); i++) {
|
||||||
ast_log(LOG_ERROR, "func_curl.so (dependent module) is still loaded. Cannot unload res_curl.so\n");
|
if (ast_module_check(dependents[i])) {
|
||||||
return -1;
|
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")) {
|
if (res)
|
||||||
ast_log(LOG_ERROR, "res_config_curl.so (dependent module) is still loaded. Cannot unload res_curl.so\n");
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
|
||||||
|
|
||||||
curl_global_cleanup();
|
curl_global_cleanup();
|
||||||
|
|
||||||
@@ -64,7 +70,7 @@ static int load_module(void)
|
|||||||
int res = 0;
|
int res = 0;
|
||||||
|
|
||||||
if (curl_global_init(CURL_GLOBAL_ALL)) {
|
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;
|
return AST_MODULE_LOAD_DECLINE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user