diff options
author | Melanie | 2011-05-24 03:17:12 +0100 |
---|---|---|
committer | Melanie | 2011-05-24 03:17:12 +0100 |
commit | 61d4291da56e18c7777adebbcfce2c092a2d9a69 (patch) | |
tree | 6eecf2c08f1c900ed1534af9726086e0409aff90 /OpenSim | |
parent | Add an event for an orderly region shutdown that fires once per region before (diff) | |
download | opensim-SC-61d4291da56e18c7777adebbcfce2c092a2d9a69.zip opensim-SC-61d4291da56e18c7777adebbcfce2c092a2d9a69.tar.gz opensim-SC-61d4291da56e18c7777adebbcfce2c092a2d9a69.tar.bz2 opensim-SC-61d4291da56e18c7777adebbcfce2c092a2d9a69.tar.xz |
Create a method to force the script engine to save state from outside
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Framework/Interfaces/IScriptModule.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 13 |
2 files changed, 11 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Interfaces/IScriptModule.cs b/OpenSim/Region/Framework/Interfaces/IScriptModule.cs index fecdd1b..d9752e6 100644 --- a/OpenSim/Region/Framework/Interfaces/IScriptModule.cs +++ b/OpenSim/Region/Framework/Interfaces/IScriptModule.cs | |||
@@ -50,5 +50,7 @@ namespace OpenSim.Region.Framework.Interfaces | |||
50 | void ResumeScript(UUID itemID); | 50 | void ResumeScript(UUID itemID); |
51 | 51 | ||
52 | ArrayList GetScriptErrors(UUID itemID); | 52 | ArrayList GetScriptErrors(UUID itemID); |
53 | |||
54 | void SaveAllState(); | ||
53 | } | 55 | } |
54 | } | 56 | } |
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 97ab411..d253c6a 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -393,11 +393,8 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
393 | return 0; | 393 | return 0; |
394 | } | 394 | } |
395 | 395 | ||
396 | public object DoMaintenance(object p) | 396 | public void SaveAllState() |
397 | { | 397 | { |
398 | object[] parms = (object[])p; | ||
399 | int sleepTime = (int)parms[0]; | ||
400 | |||
401 | foreach (IScriptInstance inst in m_Scripts.Values) | 398 | foreach (IScriptInstance inst in m_Scripts.Values) |
402 | { | 399 | { |
403 | if (inst.EventTime() > m_EventLimit) | 400 | if (inst.EventTime() > m_EventLimit) |
@@ -407,6 +404,14 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
407 | inst.Start(); | 404 | inst.Start(); |
408 | } | 405 | } |
409 | } | 406 | } |
407 | } | ||
408 | |||
409 | public object DoMaintenance(object p) | ||
410 | { | ||
411 | object[] parms = (object[])p; | ||
412 | int sleepTime = (int)parms[0]; | ||
413 | |||
414 | SaveAllState(); | ||
410 | 415 | ||
411 | System.Threading.Thread.Sleep(sleepTime); | 416 | System.Threading.Thread.Sleep(sleepTime); |
412 | 417 | ||