mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	Store modules in the order they're loaded to make reload work properly
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		
							
								
								
									
										17
									
								
								loader.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								loader.c
									
									
									
									
									
								
							| @@ -305,9 +305,22 @@ int ast_load_resource(char *resource_name) | ||||
| 		if (option_verbose) | ||||
| 			ast_verbose(VERBOSE_PREFIX_1 "Loaded %s => (%s)\n", fn, m->description()); | ||||
| 	} | ||||
| 	m->next = module_list; | ||||
|  | ||||
| 	// add module 'm' to end of module_list chain | ||||
| 	// so reload commands will be issued in same order modules were loaded | ||||
| 	m->next = NULL; | ||||
| 	if (module_list == NULL) { | ||||
| 		// empty list so far, add at front | ||||
| 		module_list = m; | ||||
| 	} | ||||
| 	else { | ||||
| 		struct module *i; | ||||
| 		// find end of chain, and add there | ||||
| 		for (i = module_list; i->next; i = i->next) | ||||
| 			; | ||||
| 		i->next = m; | ||||
| 	} | ||||
| 	 | ||||
| 	module_list = m; | ||||
| 	ast_mutex_unlock(&modlock); | ||||
| 	if ((res = m->load_module())) { | ||||
| 		ast_log(LOG_WARNING, "%s: load_module failed, returning %d\n", m->resource, res); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user