From 7eac0af5590a450752a9fd2c57abe7d1a6d84c4c Mon Sep 17 00:00:00 2001 From: Sean McNamara Date: Sat, 19 Feb 2011 23:07:54 -0500 Subject: Fix an actual bug in the timer interval calculation (minutes -> msec) --- .../World/AutoBackup/AutoBackupModule.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs') diff --git a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs index 21e48df..4899718 100644 --- a/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs +++ b/OpenSim/Region/OptionalModules/World/AutoBackup/AutoBackupModule.cs @@ -240,7 +240,7 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup states.Add(scene, st); //Read the config settings and set variables. - IConfig config = m_configSource.Configs[scene.RegionInfo.RegionName]; + IConfig config = scene.Config.Configs["Startup"]; if(config == null) { m_log.Warn("[AUTO BACKUP MODULE]: Can't get config settings! Here are the IConfigs available:"); @@ -258,11 +258,17 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup m_log.Warn("[AUTO BACKUP MODULE]: " + d.Name); } } - throw new NullReferenceException("This is debug code"); + throw new NullReferenceException("This is debug code"); //This crashes the whole process -- not good } st.SetEnabled(config.GetBoolean("AutoBackup", false)); if(!st.GetEnabled()) //If you don't want AutoBackup, we stop. + { return; + } + else + { + m_log.Info("[AUTO BACKUP MODULE]: Region " + scene.RegionInfo.RegionName + " is AutoBackup ENABLED."); + } //Borrow an existing timer if one exists for the same interval; otherwise, make a new one. double interval = config.GetDouble("AutoBackupInterval", 720); @@ -272,7 +278,13 @@ namespace OpenSim.Region.OptionalModules.World.AutoBackup } else { - st.SetTimer(new Timer(interval)); + //0 or negative interval == do nothing. + if(interval <= 0.0) + { + st.SetEnabled(false); + return; + } + st.SetTimer(new Timer(interval * 60000)); //Milliseconds -> minutes timers.Add(interval, st.GetTimer()); st.GetTimer().Elapsed += HandleElapsed; } -- cgit v1.1