mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +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