aboutsummaryrefslogtreecommitdiffstats
path: root/main/config.c
diff options
context:
space:
mode:
authormmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-05-21 02:21:38 +0000
committermmichelson <mmichelson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-05-21 02:21:38 +0000
commit5bd5753b9a47f2a4e523641de51c8f55f0781640 (patch)
tree389df67dd336c50efd4d72bf3ee2a07ff9b36c56 /main/config.c
parenta09945cd5ad9ce2c44a1392ca0080d94885bf317 (diff)
Merged revisions 117367 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk ........ r117367 | mmichelson | 2008-05-20 21:20:31 -0500 (Tue, 20 May 2008) | 19 lines Be sure that we cache included files for each source file which loads a configuration file. As it was, only the first did so. This led to a problem if the included file was changed (but not the configuration file which includes it) and the second source file attempted to reload the configuration. It would not see that the included file had changed. In this particular example, res_phoneprov and chan_sip both loaded sip.conf, which included a file call sip.peers.conf. Since res_phoneprov was the first to load sip.conf, only it cached the fact that sip.conf included sip.peers.conf. If sip.peers.conf were changed and sip.conf were not and a sip reload were issued (meaning that chan_sip attempts to reload sip.conf only if it and its included files have changed) the changes made to sip.peers.conf would not be seen and therefore no action would be taken. (closes issue #12693) Reported by: marsosa ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@117368 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/config.c')
-rw-r--r--main/config.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/main/config.c b/main/config.c
index db5167806..76bbfac30 100644
--- a/main/config.c
+++ b/main/config.c
@@ -864,7 +864,7 @@ static void config_cache_attribute(const char *configfile, enum config_cache_att
/* Find our cached entry for this configuration file */
AST_LIST_LOCK(&cfmtime_head);
AST_LIST_TRAVERSE(&cfmtime_head, cfmtime, list) {
- if (!strcmp(cfmtime->filename, configfile))
+ if (!strcmp(cfmtime->filename, configfile) && !strcmp(cfmtime->who_asked, who_asked))
break;
}
if (!cfmtime) {