aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine
diff options
context:
space:
mode:
authorMelanie2011-10-25 03:10:54 +0100
committerMelanie2011-10-25 03:10:54 +0100
commitdf430d572d8f5cc530e02888b0662ff6c4e74bd0 (patch)
tree63e41f09ae80c59a830753285c0593ac73f82625 /OpenSim/Region/ScriptEngine/XEngine
parentMerge commit 'b45219065c7a81b3ec488b3a6734773c34268618' into bigmerge (diff)
parentAdd "scripts suspend" and "scripts resume" commands. (diff)
downloadopensim-SC_OLD-df430d572d8f5cc530e02888b0662ff6c4e74bd0.zip
opensim-SC_OLD-df430d572d8f5cc530e02888b0662ff6c4e74bd0.tar.gz
opensim-SC_OLD-df430d572d8f5cc530e02888b0662ff6c4e74bd0.tar.bz2
opensim-SC_OLD-df430d572d8f5cc530e02888b0662ff6c4e74bd0.tar.xz
Merge commit '3cf7fb4eca2ad57835311e8098868f2571709392' into bigmerge
Conflicts: OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine')
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs48
1 files changed, 48 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index 6c3d767..696c216 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -342,6 +342,16 @@ namespace OpenSim.Region.ScriptEngine.XEngine
342 MainConsole.Instance.Commands.AddCommand( 342 MainConsole.Instance.Commands.AddCommand(
343 "scripts", false, "show scripts", "show scripts", "Show script information", 343 "scripts", false, "show scripts", "show scripts", "Show script information",
344 "Synonym for scripts show command", HandleShowScripts); 344 "Synonym for scripts show command", HandleShowScripts);
345
346 MainConsole.Instance.Commands.AddCommand(
347 "scripts", false, "scripts suspend", "scripts suspend", "Suspend all scripts",
348 "Suspends all currently running scripts. This only suspends event delivery, it will not suspend a"
349 + " script that is currently processing an event.",
350 HandleSuspendScripts);
351
352 MainConsole.Instance.Commands.AddCommand(
353 "scripts", false, "scripts resume", "scripts resume", "Resume all scripts",
354 "Resumes all currently suspended scripts", HandleResumeScripts);
345 } 355 }
346 356
347 public void HandleShowScripts(string module, string[] cmdparams) 357 public void HandleShowScripts(string module, string[] cmdparams)
@@ -381,6 +391,44 @@ namespace OpenSim.Region.ScriptEngine.XEngine
381 } 391 }
382 } 392 }
383 393
394 public void HandleSuspendScripts(string module, string[] cmdparams)
395 {
396 lock (m_Scripts)
397 {
398 foreach (IScriptInstance instance in m_Scripts.Values)
399 {
400 if (!instance.Suspended)
401 {
402 instance.Suspend();
403
404 SceneObjectPart sop = m_Scene.GetSceneObjectPart(instance.ObjectID);
405 MainConsole.Instance.OutputFormat(
406 "Suspended {0}.{1}, item UUID {2}, prim UUID {3} @ {4}",
407 instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID, sop.AbsolutePosition);
408 }
409 }
410 }
411 }
412
413 public void HandleResumeScripts(string module, string[] cmdparams)
414 {
415 lock (m_Scripts)
416 {
417 foreach (IScriptInstance instance in m_Scripts.Values)
418 {
419 if (instance.Suspended)
420 {
421 instance.Resume();
422
423 SceneObjectPart sop = m_Scene.GetSceneObjectPart(instance.ObjectID);
424 MainConsole.Instance.OutputFormat(
425 "Resumed {0}.{1}, item UUID {2}, prim UUID {3} @ {4}",
426 instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID, sop.AbsolutePosition);
427 }
428 }
429 }
430 }
431
384 public void RemoveRegion(Scene scene) 432 public void RemoveRegion(Scene scene)
385 { 433 {
386 if (!m_Enabled) 434 if (!m_Enabled)