diff options
author | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-08-16 21:09:46 +0000 |
---|---|---|
committer | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-08-16 21:09:46 +0000 |
commit | 56b9568164b694a42e88f1f8a31012078b833203 (patch) | |
tree | 8fda811f62cb6ffb99847befb7b74b1519ea95ba /apps/app_playback.c | |
parent | c0060cd99a0a318b504da4c13eee85f3b9043fdc (diff) |
Don't reload a configuration file if nothing has changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_playback.c')
-rw-r--r-- | apps/app_playback.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/app_playback.c b/apps/app_playback.c index d39d25c0a..db9e0e1f8 100644 --- a/apps/app_playback.c +++ b/apps/app_playback.c @@ -470,12 +470,17 @@ done: static int reload(void) { struct ast_variable *v; + struct ast_flags config_flags = { CONFIG_FLAG_FILEUNCHANGED }; + struct ast_config *newcfg; + + if ((newcfg = ast_config_load("say.conf", config_flags)) == CONFIG_STATUS_FILEUNCHANGED) + return 0; if (say_cfg) { ast_config_destroy(say_cfg); ast_log(LOG_NOTICE, "Reloading say.conf\n"); + say_cfg = newcfg; } - say_cfg = ast_config_load("say.conf"); if (say_cfg) { for (v = ast_variable_browse(say_cfg, "general"); v ; v = v->next) { @@ -510,8 +515,9 @@ static int unload_module(void) static int load_module(void) { struct ast_variable *v; + struct ast_flags config_flags = { 0 }; - say_cfg = ast_config_load("say.conf"); + say_cfg = ast_config_load("say.conf", config_flags); if (say_cfg) { for (v = ast_variable_browse(say_cfg, "general"); v ; v = v->next) { if (ast_extension_match(v->name, "mode")) { |