From 7bf4fc6c2a2916bddb9a1cda9b460d3d9abeaafb Mon Sep 17 00:00:00 2001 From: Jason Parker <jparker@digium.com> Date: Sat, 1 Dec 2007 01:37:50 +0000 Subject: [PATCH] Only reload if the config file has changed. Closes issue #11281, patch by eliel. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90410 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_adsi.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/res/res_adsi.c b/res/res_adsi.c index 149381a0ce..2df5324aad 100644 --- a/res/res_adsi.c +++ b/res/res_adsi.c @@ -1012,18 +1012,19 @@ static void init_state(void) alignment = ADSI_JUST_CENT; } -static void adsi_load(void) +static void adsi_load(int reload) { int x = 0; struct ast_config *conf = NULL; struct ast_variable *v; - struct ast_flags config_flags = { 0 }; + struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; char *name, *sname; init_state(); if (!(conf = ast_config_load("adsi.conf", config_flags))) return; - + else if (conf == CONFIG_STATUS_FILEUNCHANGED) + return; for (v = ast_variable_browse(conf, "intro"); v; v = v->next) { if (!strcasecmp(v->name, "alignment")) alignment = str2align(v->value); @@ -1066,13 +1067,13 @@ static void adsi_load(void) static int reload(void) { - adsi_load(); + adsi_load(1); return 0; } static int load_module(void) { - adsi_load(); + adsi_load(0); ast_adsi_begin_download = _ast_adsi_begin_download; ast_adsi_end_download = _ast_adsi_end_download; -- GitLab