mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-29 15:36:13 +00:00 
			
		
		
		
	Merged revisions 279410 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r279410 | tilghman | 2010-07-25 13:21:27 -0500 (Sun, 25 Jul 2010) | 8 lines Don't re-register CDR module on reload. (closes issue #17304) Reported by: jnemeth Patches: 20100507__issue17304.diff.txt uploaded by tilghman (license 14) Tested by: jnemeth ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -54,6 +54,7 @@ enum { | ||||
| 	CONFIG_USEGMTIME =         1 << 1, | ||||
| 	CONFIG_DISPOSITIONSTRING = 1 << 2, | ||||
| 	CONFIG_HRTIME =            1 << 3, | ||||
| 	CONFIG_REGISTERED =        1 << 4, | ||||
| }; | ||||
|  | ||||
| static struct ast_flags config = { 0 }; | ||||
| @@ -242,14 +243,24 @@ static int odbc_load_module(int reload) | ||||
| 		ast_verb(3, "cdr_odbc: dsn is %s\n", dsn); | ||||
| 		ast_verb(3, "cdr_odbc: table is %s\n", table); | ||||
|  | ||||
| 		res = ast_cdr_register(name, ast_module_info->description, odbc_log); | ||||
| 		if (res) { | ||||
| 			ast_log(LOG_ERROR, "cdr_odbc: Unable to register ODBC CDR handling\n"); | ||||
| 		if (!ast_test_flag(&config, CONFIG_REGISTERED)) { | ||||
| 			res = ast_cdr_register(name, ast_module_info->description, odbc_log); | ||||
| 			if (res) { | ||||
| 				ast_log(LOG_ERROR, "cdr_odbc: Unable to register ODBC CDR handling\n"); | ||||
| 			} else { | ||||
| 				ast_set_flag(&config, CONFIG_REGISTERED); | ||||
| 			} | ||||
| 		} | ||||
| 	} while (0); | ||||
|  | ||||
| 	if (cfg && cfg != CONFIG_STATUS_FILEUNCHANGED && cfg != CONFIG_STATUS_FILEINVALID) | ||||
| 	if (ast_test_flag(&config, CONFIG_REGISTERED) && (!cfg || dsn == NULL || table == NULL)) { | ||||
| 		ast_cdr_unregister(name); | ||||
| 		ast_clear_flag(&config, CONFIG_REGISTERED); | ||||
| 	} | ||||
|  | ||||
| 	if (cfg && cfg != CONFIG_STATUS_FILEUNCHANGED && cfg != CONFIG_STATUS_FILEINVALID) { | ||||
| 		ast_config_destroy(cfg); | ||||
| 	} | ||||
| 	return res; | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user