fixed a timing bug in config re-read. Apparently there is 1000000000 ns in one second...

This commit is contained in:
Tedd Hansen
2008-02-02 07:53:13 +00:00
parent 2db5de3e72
commit 785b641272
6 changed files with 34 additions and 13 deletions

View File

@@ -90,12 +90,12 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
m_ScriptEngine.Log.Warn(m_ScriptEngine.ScriptEngineName,
"Configuration error: MaxEventExecutionTimeMs is less than MaintenanceLoopms. The Maintenance Loop will only check scripts once per run.");
long Last_maxFunctionExecutionTimens = 0; // DateTime.Now.Ticks;
long Last_ReReadConfigFilens = DateTime.Now.Ticks;
while (true)
{
try
{
long Last_maxFunctionExecutionTimens = 0; // DateTime.Now.Ticks;
long Last_ReReadConfigFilens = DateTime.Now.Ticks;
while (true)
{
System.Threading.Thread.Sleep(MaintenanceLoopms); // Sleep before next pass
@@ -107,11 +107,12 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
//
// Re-reading config every x seconds
//
if (m_ScriptEngine.RefreshConfigFileSeconds > 0)
if (m_ScriptEngine.RefreshConfigFilens > 0)
{
// Check if its time to re-read config
if (DateTime.Now.Ticks - Last_ReReadConfigFilens > m_ScriptEngine.RefreshConfigFilens)
{
//Console.WriteLine("Time passed: " + (DateTime.Now.Ticks - Last_ReReadConfigFilens) + ">" + m_ScriptEngine.RefreshConfigFilens );
// Its time to re-read config file
m_ScriptEngine.ReadConfig();
Last_ReReadConfigFilens = DateTime.Now.Ticks; // Reset time

View File

@@ -61,10 +61,10 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
/// How many seconds between re-reading config-file. 0 = never. ScriptEngine will try to adjust to new config changes.
/// </summary>
public int RefreshConfigFileSeconds {
get { return (int)(RefreshConfigFilens / 10000); }
set { RefreshConfigFilens = value * 10000; }
get { return (int)(RefreshConfigFilens / 10000000); }
set { RefreshConfigFilens = value * 10000000; }
}
public long RefreshConfigFilens = 0;
public long RefreshConfigFilens;
public ScriptManager GetScriptManager()
{
@@ -131,9 +131,9 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase
}
public void ReadConfig()
{
#if DEBUG
Log.Debug(ScriptEngineName, "Refreshing configuration for all modules");
#endif
//#if DEBUG
// Log.Debug(ScriptEngineName, "Refreshing configuration for all modules");
//#endif
RefreshConfigFileSeconds = ScriptConfigSource.GetInt("RefreshConfig", 30);
// Reload from disk? No!