aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs57
1 files changed, 15 insertions, 42 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index 9f05666..f6cb7df 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -656,19 +656,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
656 if (m_Assemblies.ContainsKey(instance.AssetID)) 656 if (m_Assemblies.ContainsKey(instance.AssetID))
657 { 657 {
658 string assembly = m_Assemblies[instance.AssetID]; 658 string assembly = m_Assemblies[instance.AssetID];
659 659 instance.SaveState(assembly);
660 try
661 {
662 instance.SaveState(assembly);
663 }
664 catch (Exception e)
665 {
666 m_log.Error(
667 string.Format(
668 "[XEngine]: Failed final state save for script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ",
669 instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID, World.Name)
670 , e);
671 }
672 } 660 }
673 661
674 // Clear the event queue and abort the instance thread 662 // Clear the event queue and abort the instance thread
@@ -790,18 +778,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
790 assembly = m_Assemblies[i.AssetID]; 778 assembly = m_Assemblies[i.AssetID];
791 779
792 780
793 try 781 i.SaveState(assembly);
794 {
795 i.SaveState(assembly);
796 }
797 catch (Exception e)
798 {
799 m_log.Error(
800 string.Format(
801 "[XEngine]: Failed to save state of script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ",
802 i.PrimName, i.ScriptName, i.ItemID, i.ObjectID, World.Name)
803 , e);
804 }
805 } 782 }
806 783
807 instances.Clear(); 784 instances.Clear();
@@ -994,8 +971,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine
994 // This delay exists to stop mono problems where script compilation and startup would stop the sim 971 // This delay exists to stop mono problems where script compilation and startup would stop the sim
995 // working properly for the session. 972 // working properly for the session.
996 System.Threading.Thread.Sleep(m_StartDelay); 973 System.Threading.Thread.Sleep(m_StartDelay);
997
998 m_log.InfoFormat("[XEngine]: Performing initial script startup on {0}", m_Scene.Name);
999 } 974 }
1000 975
1001 object[] o; 976 object[] o;
@@ -1011,13 +986,13 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1011 if (m_InitialStartup) 986 if (m_InitialStartup)
1012 if (scriptsStarted % 50 == 0) 987 if (scriptsStarted % 50 == 0)
1013 m_log.InfoFormat( 988 m_log.InfoFormat(
1014 "[XEngine]: Started {0} scripts in {1}", scriptsStarted, m_Scene.Name); 989 "[XEngine]: Started {0} scripts in {1}", scriptsStarted, m_Scene.RegionInfo.RegionName);
1015 } 990 }
1016 } 991 }
1017 992
1018 if (m_InitialStartup) 993 if (m_InitialStartup)
1019 m_log.InfoFormat( 994 m_log.InfoFormat(
1020 "[XEngine]: Completed starting {0} scripts on {1}", scriptsStarted, m_Scene.Name); 995 "[XEngine]: Completed starting {0} scripts on {1}", scriptsStarted, m_Scene.RegionInfo.RegionName);
1021 996
1022 // NOTE: Despite having a lockless queue, this lock is required 997 // NOTE: Despite having a lockless queue, this lock is required
1023 // to make sure there is never no compile thread while there 998 // to make sure there is never no compile thread while there
@@ -1078,13 +1053,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1078 return false; 1053 return false;
1079 } 1054 }
1080 1055
1081 m_log.DebugFormat(
1082 "[XEngine] Loading script {0}.{1}, item UUID {2}, prim UUID {3} @ {4}.{5}",
1083 part.ParentGroup.RootPart.Name, item.Name, itemID, part.UUID,
1084 part.ParentGroup.RootPart.AbsolutePosition, part.ParentGroup.Scene.RegionInfo.RegionName);
1085
1086 UUID assetID = item.AssetID; 1056 UUID assetID = item.AssetID;
1087 1057
1058 //m_log.DebugFormat("[XEngine] Compiling script {0} ({1} on object {2})",
1059 // item.Name, itemID.ToString(), part.ParentGroup.RootPart.Name);
1060
1088 ScenePresence presence = m_Scene.GetScenePresence(item.OwnerID); 1061 ScenePresence presence = m_Scene.GetScenePresence(item.OwnerID);
1089 1062
1090 string assembly = ""; 1063 string assembly = "";
@@ -1262,10 +1235,10 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1262 item.Name, startParam, postOnRez, 1235 item.Name, startParam, postOnRez,
1263 stateSource, m_MaxScriptQueue); 1236 stateSource, m_MaxScriptQueue);
1264 1237
1265// m_log.DebugFormat( 1238 m_log.DebugFormat(
1266// "[XEngine] Loaded script {0}.{1}, script UUID {2}, prim UUID {3} @ {4}.{5}", 1239 "[XEngine] Loaded script {0}.{1}, script UUID {2}, prim UUID {3} @ {4}.{5}",
1267// part.ParentGroup.RootPart.Name, item.Name, assetID, part.UUID, 1240 part.ParentGroup.RootPart.Name, item.Name, assetID, part.UUID,
1268// part.ParentGroup.RootPart.AbsolutePosition, part.ParentGroup.Scene.RegionInfo.RegionName); 1241 part.ParentGroup.RootPart.AbsolutePosition, part.ParentGroup.Scene.RegionInfo.RegionName);
1269 1242
1270 if (presence != null) 1243 if (presence != null)
1271 { 1244 {
@@ -1581,9 +1554,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1581 else if (p[i] is string) 1554 else if (p[i] is string)
1582 lsl_p[i] = new LSL_Types.LSLString((string)p[i]); 1555 lsl_p[i] = new LSL_Types.LSLString((string)p[i]);
1583 else if (p[i] is Vector3) 1556 else if (p[i] is Vector3)
1584 lsl_p[i] = new LSL_Types.Vector3((Vector3)p[i]); 1557 lsl_p[i] = new LSL_Types.Vector3(((Vector3)p[i]).X, ((Vector3)p[i]).Y, ((Vector3)p[i]).Z);
1585 else if (p[i] is Quaternion) 1558 else if (p[i] is Quaternion)
1586 lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]); 1559 lsl_p[i] = new LSL_Types.Quaternion(((Quaternion)p[i]).X, ((Quaternion)p[i]).Y, ((Quaternion)p[i]).Z, ((Quaternion)p[i]).W);
1587 else if (p[i] is float) 1560 else if (p[i] is float)
1588 lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]); 1561 lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]);
1589 else 1562 else
@@ -1607,9 +1580,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1607 else if (p[i] is string) 1580 else if (p[i] is string)
1608 lsl_p[i] = new LSL_Types.LSLString((string)p[i]); 1581 lsl_p[i] = new LSL_Types.LSLString((string)p[i]);
1609 else if (p[i] is Vector3) 1582 else if (p[i] is Vector3)
1610 lsl_p[i] = new LSL_Types.Vector3((Vector3)p[i]); 1583 lsl_p[i] = new LSL_Types.Vector3(((Vector3)p[i]).X, ((Vector3)p[i]).Y, ((Vector3)p[i]).Z);
1611 else if (p[i] is Quaternion) 1584 else if (p[i] is Quaternion)
1612 lsl_p[i] = new LSL_Types.Quaternion((Quaternion)p[i]); 1585 lsl_p[i] = new LSL_Types.Quaternion(((Quaternion)p[i]).X, ((Quaternion)p[i]).Y, ((Quaternion)p[i]).Z, ((Quaternion)p[i]).W);
1613 else if (p[i] is float) 1586 else if (p[i] is float)
1614 lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]); 1587 lsl_p[i] = new LSL_Types.LSLFloat((float)p[i]);
1615 else 1588 else