aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine/XEngine.cs')
-rw-r--r--OpenSim/Region/ScriptEngine/XEngine/XEngine.cs51
1 files changed, 23 insertions, 28 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
index ccd5d99..71ed989 100644
--- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
+++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs
@@ -716,22 +716,17 @@ namespace OpenSim.Region.ScriptEngine.XEngine
716 { 716 {
717 // Force a final state save 717 // Force a final state save
718 // 718 //
719 if (m_Assemblies.ContainsKey(instance.AssetID)) 719 try
720 { 720 {
721 string assembly = m_Assemblies[instance.AssetID]; 721 instance.SaveState();
722 722 }
723 try 723 catch (Exception e)
724 { 724 {
725 instance.SaveState(assembly); 725 m_log.Error(
726 } 726 string.Format(
727 catch (Exception e) 727 "[XEngine]: Failed final state save for script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ",
728 { 728 instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID, World.Name)
729 m_log.Error( 729 , e);
730 string.Format(
731 "[XEngine]: Failed final state save for script {0}.{1}, item UUID {2}, prim UUID {3} in {4}. Exception ",
732 instance.PrimName, instance.ScriptName, instance.ItemID, instance.ObjectID, World.Name)
733 , e);
734 }
735 } 730 }
736 731
737 // Clear the event queue and abort the instance thread 732 // Clear the event queue and abort the instance thread
@@ -840,18 +835,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
840 835
841 foreach (IScriptInstance i in instances) 836 foreach (IScriptInstance i in instances)
842 { 837 {
843 string assembly = String.Empty;
844
845 lock (m_Scripts)
846 {
847 if (!m_Assemblies.ContainsKey(i.AssetID))
848 continue;
849 assembly = m_Assemblies[i.AssetID];
850 }
851
852 try 838 try
853 { 839 {
854 i.SaveState(assembly); 840 i.SaveState();
855 } 841 }
856 catch (Exception e) 842 catch (Exception e)
857 { 843 {
@@ -1180,7 +1166,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1180 lock (m_AddingAssemblies) 1166 lock (m_AddingAssemblies)
1181 { 1167 {
1182 m_Compiler.PerformScriptCompile(script, assetID.ToString(), item.OwnerID, out assemblyPath, out linemap); 1168 m_Compiler.PerformScriptCompile(script, assetID.ToString(), item.OwnerID, out assemblyPath, out linemap);
1183 1169
1170// m_log.DebugFormat(
1171// "[XENGINE]: Found assembly path {0} onrez {1} in {2}",
1172// assemblyPath, item.ItemID, World.Name);
1173
1184 if (!m_AddingAssemblies.ContainsKey(assemblyPath)) { 1174 if (!m_AddingAssemblies.ContainsKey(assemblyPath)) {
1185 m_AddingAssemblies[assemblyPath] = 1; 1175 m_AddingAssemblies[assemblyPath] = 1;
1186 } else { 1176 } else {
@@ -1373,7 +1363,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1373 startParam, postOnRez, 1363 startParam, postOnRez,
1374 m_MaxScriptQueue); 1364 m_MaxScriptQueue);
1375 1365
1376 if (!instance.Load(m_AppDomains[appDomain], scriptAssembly, stateSource)) 1366 if (!instance.Load(
1367 m_AppDomains[appDomain], scriptAssembly,
1368 Path.Combine(ScriptEnginePath, World.RegionInfo.RegionID.ToString()), stateSource))
1377 return false; 1369 return false;
1378 1370
1379// if (DebugLevel >= 1) 1371// if (DebugLevel >= 1)
@@ -1604,7 +1596,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
1604 1596
1605 IScriptInstance instance = (ScriptInstance) parms; 1597 IScriptInstance instance = (ScriptInstance) parms;
1606 1598
1607 //m_log.DebugFormat("[XEngine]: Processing event for {0}", instance); 1599// m_log.DebugFormat("[XEngine]: Processing event for {0}", instance);
1608 1600
1609 return instance.EventProcessor(); 1601 return instance.EventProcessor();
1610 } 1602 }
@@ -2200,6 +2192,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine
2200 m_log.ErrorFormat("[XEngine]: Error whilst writing state file {0}, {1}", statepath, ex.Message); 2192 m_log.ErrorFormat("[XEngine]: Error whilst writing state file {0}, {1}", statepath, ex.Message);
2201 } 2193 }
2202 2194
2195// m_log.DebugFormat(
2196// "[XEngine]: Wrote state for script item with ID {0} at {1} in {2}", itemID, statepath, m_Scene.Name);
2197
2203 return true; 2198 return true;
2204 } 2199 }
2205 2200