Allow XEngine StartDelay to be configured in the [XEngine] config section.

This is only currently meant for use by regression tests that don't have any issues if XEngine is started up quickly, since no other operations will be occuring simultaneously.
Therefore, this is not yet documented externally.
0.7.3-extended
Justin Clark-Casey (justincc) 2012-07-11 21:55:18 +01:00
parent 8c8e6220fb
commit 5269d77cf9
3 changed files with 12 additions and 3 deletions

View File

@ -135,6 +135,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
IConfig xEngineConfig = config.AddConfig("XEngine"); IConfig xEngineConfig = config.AddConfig("XEngine");
xEngineConfig.Set("Enabled", "true"); xEngineConfig.Set("Enabled", "true");
xEngineConfig.Set("StartDelay", "0");
// These tests will not run with AppDomainLoading = true, at least on mono. For unknown reasons, the call // These tests will not run with AppDomainLoading = true, at least on mono. For unknown reasons, the call
// to AssemblyResolver.OnAssemblyResolve fails. // to AssemblyResolver.OnAssemblyResolve fails.
@ -371,7 +372,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests
public void TestDetachScriptedAttachmentToInventory() public void TestDetachScriptedAttachmentToInventory()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
TestHelpers.EnableLogging(); // TestHelpers.EnableLogging();
Scene scene = CreateScriptingEnabledTestScene(); Scene scene = CreateScriptingEnabledTestScene();
UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene, 0x1); UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene, 0x1);

View File

@ -65,6 +65,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine.Tests
IConfig xEngineConfig = configSource.AddConfig("XEngine"); IConfig xEngineConfig = configSource.AddConfig("XEngine");
xEngineConfig.Set("Enabled", "true"); xEngineConfig.Set("Enabled", "true");
xEngineConfig.Set("StartDelay", "0");
// These tests will not run with AppDomainLoading = true, at least on mono. For unknown reasons, the call // These tests will not run with AppDomainLoading = true, at least on mono. For unknown reasons, the call
// to AssemblyResolver.OnAssemblyResolve fails. // to AssemblyResolver.OnAssemblyResolve fails.

View File

@ -78,6 +78,12 @@ namespace OpenSim.Region.ScriptEngine.XEngine
private ICompiler m_Compiler; private ICompiler m_Compiler;
private int m_MinThreads; private int m_MinThreads;
private int m_MaxThreads; private int m_MaxThreads;
/// <summary>
/// Amount of time to delay before starting.
/// </summary>
private int m_StartDelay;
private int m_IdleTimeout; private int m_IdleTimeout;
private int m_StackSize; private int m_StackSize;
private int m_SleepTime; private int m_SleepTime;
@ -231,6 +237,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
m_MaxThreads = m_ScriptConfig.GetInt("MaxThreads", 100); m_MaxThreads = m_ScriptConfig.GetInt("MaxThreads", 100);
m_IdleTimeout = m_ScriptConfig.GetInt("IdleTimeout", 60); m_IdleTimeout = m_ScriptConfig.GetInt("IdleTimeout", 60);
string priority = m_ScriptConfig.GetString("Priority", "BelowNormal"); string priority = m_ScriptConfig.GetString("Priority", "BelowNormal");
m_StartDelay = m_ScriptConfig.GetInt("StartDelay", 15000);
m_MaxScriptQueue = m_ScriptConfig.GetInt("MaxScriptEventQueue",300); m_MaxScriptQueue = m_ScriptConfig.GetInt("MaxScriptEventQueue",300);
m_StackSize = m_ScriptConfig.GetInt("ThreadStackSize", 262144); m_StackSize = m_ScriptConfig.GetInt("ThreadStackSize", 262144);
m_SleepTime = m_ScriptConfig.GetInt("MaintenanceInterval", 10) * 1000; m_SleepTime = m_ScriptConfig.GetInt("MaintenanceInterval", 10) * 1000;
@ -886,7 +893,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
{ {
// This delay exists to stop mono problems where script compilation and startup would stop the sim // This delay exists to stop mono problems where script compilation and startup would stop the sim
// working properly for the session. // working properly for the session.
System.Threading.Thread.Sleep(15000); System.Threading.Thread.Sleep(m_StartDelay);
} }
object[] o; object[] o;