From 2d27c6c255a1d55c50fa20765185a7b0d0c27de5 Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Mon, 9 Jan 2012 15:39:31 +0000 Subject: [PATCH] Prevent SLA settings from getting wiped out on reload If SLA was reloaded without the config file being changed, current settings got wiped out before the SLA reload code decided it wasn't going to reload the file since nothing was changed. Moving the settings reset later in the reload process fixes this. (closes issue AST-744) ........ Merged revisions 350023 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@350024 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_meetme.c | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 5cfe5f3470..d78a779a70 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -6064,19 +6064,6 @@ static void sla_check_reload(void) return; } - /* We need to actually delete the previous versions of trunks and stations now */ - AST_RWLIST_TRAVERSE_SAFE_BEGIN(&sla_stations, station, entry) { - AST_RWLIST_REMOVE_CURRENT(entry); - ast_free(station); - } - AST_RWLIST_TRAVERSE_SAFE_END; - - AST_RWLIST_TRAVERSE_SAFE_BEGIN(&sla_trunks, trunk, entry) { - AST_RWLIST_REMOVE_CURRENT(entry); - ast_free(trunk); - } - AST_RWLIST_TRAVERSE_SAFE_END; - /* yay */ sla_load_config(1); sla.reload = 0; @@ -6975,6 +6962,24 @@ static int sla_load_config(int reload) return 0; } + if (reload) { + struct sla_station *station; + struct sla_trunk *trunk; + + /* We need to actually delete the previous versions of trunks and stations now */ + AST_RWLIST_TRAVERSE_SAFE_BEGIN(&sla_stations, station, entry) { + AST_RWLIST_REMOVE_CURRENT(entry); + ast_free(station); + } + AST_RWLIST_TRAVERSE_SAFE_END; + + AST_RWLIST_TRAVERSE_SAFE_BEGIN(&sla_trunks, trunk, entry) { + AST_RWLIST_REMOVE_CURRENT(entry); + ast_free(trunk); + } + AST_RWLIST_TRAVERSE_SAFE_END; + } + if ((val = ast_variable_retrieve(cfg, "general", "attemptcallerid"))) sla.attempt_callerid = ast_true(val); -- 2.47.2