Create a method to force the script engine to save state from outside

avinationmerge
Melanie 2011-05-24 02:40:59 +02:00
parent 8b42f824d3
commit d5841e07c2
2 changed files with 11 additions and 4 deletions

View File

@ -52,5 +52,7 @@ namespace OpenSim.Region.Framework.Interfaces
ArrayList GetScriptErrors(UUID itemID);
bool HasScript(UUID itemID, out bool running);
void SaveAllState();
}
}

View File

@ -461,11 +461,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine
return 0;
}
public object DoMaintenance(object p)
public void SaveAllState()
{
object[] parms = (object[])p;
int sleepTime = (int)parms[0];
foreach (IScriptInstance inst in m_Scripts.Values)
{
if (inst.EventTime() > m_EventLimit)
@ -475,6 +472,14 @@ namespace OpenSim.Region.ScriptEngine.XEngine
inst.Start();
}
}
}
public object DoMaintenance(object p)
{
object[] parms = (object[])p;
int sleepTime = (int)parms[0];
SaveAllState();
System.Threading.Thread.Sleep(sleepTime);