From dbec3d56c146801fad339a1d46a388865b18ffb4 Mon Sep 17 00:00:00 2001 From: tilghman Date: Thu, 16 Aug 2007 21:09:46 +0000 Subject: Don't reload a configuration file if nothing has changed. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/misdn_config.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'channels/misdn_config.c') diff --git a/channels/misdn_config.c b/channels/misdn_config.c index bdd14370c..008f0f6e4 100644 --- a/channels/misdn_config.c +++ b/channels/misdn_config.c @@ -1063,7 +1063,7 @@ static void _fill_defaults (void) void misdn_cfg_reload (void) { - misdn_cfg_init (0); + misdn_cfg_init(0, 1); } void misdn_cfg_destroy (void) @@ -1082,18 +1082,20 @@ void misdn_cfg_destroy (void) ast_mutex_destroy(&config_mutex); } -int misdn_cfg_init (int this_max_ports) +int misdn_cfg_init(int this_max_ports, int reload) { char config[] = "misdn.conf"; char *cat, *p; int i; struct ast_config *cfg; struct ast_variable *v; + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; - if (!(cfg = AST_LOAD_CFG(config))) { + if (!(cfg = AST_LOAD_CFG(config, config_flags))) { ast_log(LOG_WARNING, "missing file: misdn.conf\n"); return -1; - } + } else if (cfg == CONFIG_STATUS_FILEUNCHANGED) + return 0; ast_mutex_init(&config_mutex); -- cgit v1.2.3