diff options
Diffstat (limited to '')
-rwxr-xr-x | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index ecd0b69..f42b5ad 100755 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -1278,6 +1278,10 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1278 | } | 1278 | } |
1279 | } | 1279 | } |
1280 | 1280 | ||
1281 | // do not load a assembly on top of a lot of to release memory | ||
1282 | // also yield a bit | ||
1283 | GC.Collect(2); | ||
1284 | |||
1281 | ScriptInstance instance = null; | 1285 | ScriptInstance instance = null; |
1282 | lock (m_Scripts) | 1286 | lock (m_Scripts) |
1283 | { | 1287 | { |
@@ -1501,11 +1505,12 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1501 | m_PrimObjects[localID].Add(itemID); | 1505 | m_PrimObjects[localID].Add(itemID); |
1502 | } | 1506 | } |
1503 | 1507 | ||
1504 | if (!m_Assemblies.ContainsKey(assetID)) | ||
1505 | m_Assemblies[assetID] = assemblyPath; | ||
1506 | 1508 | ||
1507 | lock (m_AddingAssemblies) | 1509 | lock (m_AddingAssemblies) |
1508 | { | 1510 | { |
1511 | if (!m_Assemblies.ContainsKey(assetID)) | ||
1512 | m_Assemblies[assetID] = assemblyPath; | ||
1513 | |||
1509 | m_AddingAssemblies[assemblyPath]--; | 1514 | m_AddingAssemblies[assemblyPath]--; |
1510 | } | 1515 | } |
1511 | 1516 | ||