[svn-commits] kpfleming: trunk r40863 - /trunk/main/loader.c

svn-commits at lists.digium.com svn-commits at lists.digium.com
Tue Aug 22 16:06:14 MST 2006


Author: kpfleming
Date: Tue Aug 22 18:06:13 2006
New Revision: 40863

URL: http://svn.digium.com/view/asterisk?rev=40863&view=rev
Log:
minor improvements

Modified:
    trunk/main/loader.c

Modified: trunk/main/loader.c
URL: http://svn.digium.com/view/asterisk/trunk/main/loader.c?rev=40863&r1=40862&r2=40863&view=diff
==============================================================================
--- trunk/main/loader.c (original)
+++ trunk/main/loader.c Tue Aug 22 18:06:13 2006
@@ -417,7 +417,10 @@
 
 	AST_LIST_LOCK(&module_list);
 
-	mod = find_resource(resource_name, 0);
+	if (!(mod = find_resource(resource_name, 0))) {
+		AST_LIST_UNLOCK(&module_list);
+		return 0;
+	}
 
 	if (!ast_test_flag(mod, FLAG_RUNNING | FLAG_DECLINED))
 		error = 1;
@@ -576,8 +579,8 @@
 		}
 		if (global_symbols_only && !ast_test_flag(mod->info, AST_MODFLAG_GLOBAL_SYMBOLS))
 			return AST_MODULE_LOAD_SKIP;
+	} else {
 #if LOADABLE_MODULES
-	} else {
 		if (!(mod = load_dynamic_module(resource_name, global_symbols_only))) {
 			/* don't generate a warning message during load_modules() */
 			if (!global_symbols_only) {
@@ -645,7 +648,6 @@
 
 struct load_order_entry {
 	char *resource;
-	unsigned int embedded;
 	AST_LIST_ENTRY(load_order_entry) entry;
 };
 
@@ -701,33 +703,21 @@
 
 	AST_LIST_HEAD_INIT_NOLOCK(&load_order);
 
-	if (preload_only) {
-		/* first, find all the modules we have been explicitly requested to load */
-		for (v = ast_variable_browse(cfg, "modules"); v; v = v->next) {
-			if (!strcasecmp(v->name, "preload"))
-				add_to_load_order(v->value, &load_order);
-		}
-	} else {
-		/* first, find all the modules we have been explicitly requested to load */
-		for (v = ast_variable_browse(cfg, "modules"); v; v = v->next) {
-			if (!strcasecmp(v->name, "load"))
-				add_to_load_order(v->value, &load_order);
-		}
+	/* first, find all the modules we have been explicitly requested to load */
+	for (v = ast_variable_browse(cfg, "modules"); v; v = v->next) {
+		if (!strcasecmp(v->name, preload_only ? "preload" : "load"))
+			add_to_load_order(v->value, &load_order);
 	}
 
 	/* check if 'autoload' is on */
 	if (!preload_only && ast_true(ast_variable_retrieve(cfg, "modules", "autoload"))) {
 		/* if so, first add all the embedded modules to the load order */
-		AST_LIST_TRAVERSE(&module_list, mod, entry) {
+		AST_LIST_TRAVERSE(&module_list, mod, entry)
 			order = add_to_load_order(mod->resource, &load_order);
 
-			if (order)
-				order->embedded = 1;
-		}
-
+#if LOADABLE_MODULES
 		/* if we are allowed to load dynamic modules, scan the directory for
 		   for all available modules and add them as well */
-#if LOADABLE_MODULES
 		if ((dir  = opendir(ast_config_AST_MODULE_DIR))) {
 			while ((dirent = readdir(dir))) {
 				int ld = strlen(dirent->d_name);
@@ -777,7 +767,8 @@
 	AST_LIST_TRAVERSE(&load_order, order, entry)
 		load_count++;
 
-	ast_log(LOG_NOTICE, "%d modules will be loaded.\n", load_count);
+	if (load_count)
+		ast_log(LOG_NOTICE, "%d modules will be loaded.\n", load_count);
 
 	/* first, load only modules that provide global symbols */
 	AST_LIST_TRAVERSE_SAFE_BEGIN(&load_order, order, entry) {



More information about the svn-commits mailing list