aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_minivm.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-16 21:09:46 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-16 21:09:46 +0000
commitdbec3d56c146801fad339a1d46a388865b18ffb4 (patch)
tree8fda811f62cb6ffb99847befb7b74b1519ea95ba /apps/app_minivm.c
parent0fb9c73a989207650aa3ba603824e4593809611b (diff)
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
Diffstat (limited to 'apps/app_minivm.c')
-rw-r--r--apps/app_minivm.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/apps/app_minivm.c b/apps/app_minivm.c
index a868bac83..1841e5267 100644
--- a/apps/app_minivm.c
+++ b/apps/app_minivm.c
@@ -2349,7 +2349,7 @@ static int apply_general_options(struct ast_variable *var)
}
/*! \brief Load minivoicemail configuration */
-static int load_config(void)
+static int load_config(int reload)
{
struct ast_config *cfg;
struct ast_variable *var;
@@ -2357,8 +2357,12 @@ static int load_config(void)
const char *chanvar;
int error = 0;
struct minivm_template *template;
+ struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
+
+ cfg = ast_config_load(VOICEMAIL_CONFIG, config_flags);
+ if (cfg == CONFIG_STATUS_FILEUNCHANGED)
+ return 0;
- cfg = ast_config_load(VOICEMAIL_CONFIG);
ast_mutex_lock(&minivmlock);
/* Destroy lists to reconfigure */
@@ -3039,7 +3043,7 @@ static int load_module(void)
if (res)
return(res);
- if ((res = load_config()))
+ if ((res = load_config(0)))
return(res);
ast_cli_register_multiple(cli_minivm, sizeof(cli_minivm)/sizeof(cli_minivm[0]));
@@ -3053,7 +3057,7 @@ static int load_module(void)
/*! \brief Reload mini voicemail module */
static int reload(void)
{
- return(load_config());
+ return(load_config(1));
}
/*! \brief Reload cofiguration */