diff options
Diffstat (limited to 'OpenSim')
3 files changed, 31 insertions, 7 deletions
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs index 0cc0fe7..d3200d5 100644 --- a/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Interfaces/IScriptInstance.cs | |||
@@ -59,10 +59,15 @@ namespace OpenSim.Region.ScriptEngine.Interfaces | |||
59 | public interface IScriptInstance | 59 | public interface IScriptInstance |
60 | { | 60 | { |
61 | /// <summary> | 61 | /// <summary> |
62 | /// Is this script currently running? | 62 | /// Is the script currently running? |
63 | /// </summary> | 63 | /// </summary> |
64 | bool Running { get; set; } | 64 | bool Running { get; set; } |
65 | 65 | ||
66 | /// <summary> | ||
67 | /// Is the script suspended? | ||
68 | /// </summary> | ||
69 | bool Suspended { get; set; } | ||
70 | |||
66 | bool ShuttingDown { get; set; } | 71 | bool ShuttingDown { get; set; } |
67 | string State { get; set; } | 72 | string State { get; set; } |
68 | IScriptEngine Engine { get; } | 73 | IScriptEngine Engine { get; } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs index 5a50714..ab46491 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Instance/ScriptInstance.cs | |||
@@ -96,7 +96,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
96 | private bool m_startedFromSavedState; | 96 | private bool m_startedFromSavedState; |
97 | private UUID m_CurrentStateHash; | 97 | private UUID m_CurrentStateHash; |
98 | private UUID m_RegionID; | 98 | private UUID m_RegionID; |
99 | private bool m_Suspended = false; | ||
100 | 99 | ||
101 | private Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>> | 100 | private Dictionary<KeyValuePair<int, int>, KeyValuePair<int, int>> |
102 | m_LineMap; | 101 | m_LineMap; |
@@ -140,6 +139,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
140 | set { m_RunEvents = value; } | 139 | set { m_RunEvents = value; } |
141 | } | 140 | } |
142 | 141 | ||
142 | public bool Suspended { get; set; } | ||
143 | |||
143 | public bool ShuttingDown | 144 | public bool ShuttingDown |
144 | { | 145 | { |
145 | get { return m_ShuttingDown; } | 146 | get { return m_ShuttingDown; } |
@@ -651,7 +652,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
651 | 652 | ||
652 | lock (m_EventQueue) | 653 | lock (m_EventQueue) |
653 | { | 654 | { |
654 | if (m_Suspended) | 655 | if (Suspended) |
655 | return 0; | 656 | return 0; |
656 | 657 | ||
657 | lock (m_Script) | 658 | lock (m_Script) |
@@ -1030,12 +1031,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Instance | |||
1030 | 1031 | ||
1031 | public void Suspend() | 1032 | public void Suspend() |
1032 | { | 1033 | { |
1033 | m_Suspended = true; | 1034 | Suspended = true; |
1034 | } | 1035 | } |
1035 | 1036 | ||
1036 | public void Resume() | 1037 | public void Resume() |
1037 | { | 1038 | { |
1038 | m_Suspended = false; | 1039 | Suspended = false; |
1039 | } | 1040 | } |
1040 | } | 1041 | } |
1041 | } | 1042 | } |
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 572ca07..d606b37 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -354,11 +354,29 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
354 | foreach (IScriptInstance instance in m_Scripts.Values) | 354 | foreach (IScriptInstance instance in m_Scripts.Values) |
355 | { | 355 | { |
356 | SceneObjectPart sop = m_Scene.GetSceneObjectPart(instance.ObjectID); | 356 | SceneObjectPart sop = m_Scene.GetSceneObjectPart(instance.ObjectID); |
357 | string status; | ||
358 | |||
359 | if (instance.ShuttingDown) | ||
360 | { | ||
361 | status = "shutting down"; | ||
362 | } | ||
363 | else if (instance.Suspended) | ||
364 | { | ||
365 | status = "suspended"; | ||
366 | } | ||
367 | else if (!instance.Running) | ||
368 | { | ||
369 | status = "stopped"; | ||
370 | } | ||
371 | else | ||
372 | { | ||
373 | status = "running"; | ||
374 | } | ||
357 | 375 | ||
358 | MainConsole.Instance.OutputFormat( | 376 | MainConsole.Instance.OutputFormat( |
359 | "{0}.{1}, script UUID {2}, prim UUID {3} @ {4}", | 377 | "{0}.{1}, script UUID {2}, prim UUID {3} @ {4} ({5})", |
360 | instance.PrimName, instance.ScriptName, instance.AssetID, instance.ObjectID, | 378 | instance.PrimName, instance.ScriptName, instance.AssetID, instance.ObjectID, |
361 | sop.AbsolutePosition, m_Scene.RegionInfo.RegionName); | 379 | sop.AbsolutePosition, status); |
362 | } | 380 | } |
363 | } | 381 | } |
364 | } | 382 | } |