diff options
author | Melanie | 2009-08-07 03:04:06 +0100 |
---|---|---|
committer | Melanie | 2009-08-07 03:04:06 +0100 |
commit | f8d8366bfa6f048107d22b4b73af22803810be81 (patch) | |
tree | 185a7ccc461a03366e1dade1a6f4ecf5d2c8f4f4 /OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |
parent | Remove the forge module patch insertion area from prebuild.xml (diff) | |
download | opensim-SC_OLD-f8d8366bfa6f048107d22b4b73af22803810be81.zip opensim-SC_OLD-f8d8366bfa6f048107d22b4b73af22803810be81.tar.gz opensim-SC_OLD-f8d8366bfa6f048107d22b4b73af22803810be81.tar.bz2 opensim-SC_OLD-f8d8366bfa6f048107d22b4b73af22803810be81.tar.xz |
Revert the XEngine memleak patch, it causes premature GC.
This matches behavior seen with an earlier attempt to do this, apparently
the sponsor mechanism does't work in Mono
Diffstat (limited to 'OpenSim/Region/ScriptEngine/XEngine/XEngine.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index ff75e2f..c7673c7 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -272,10 +272,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
272 | instance.ClearQueue(); | 272 | instance.ClearQueue(); |
273 | instance.Stop(0); | 273 | instance.Stop(0); |
274 | 274 | ||
275 | // Release events, timer, etc | ||
276 | // | ||
277 | instance.DestroyScriptInstance(); | ||
278 | |||
279 | // Unload scripts and app domains | 275 | // Unload scripts and app domains |
280 | // Must be done explicitly because they have infinite | 276 | // Must be done explicitly because they have infinite |
281 | // lifetime | 277 | // lifetime |
@@ -286,6 +282,10 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
286 | m_DomainScripts.Remove(instance.AppDomain); | 282 | m_DomainScripts.Remove(instance.AppDomain); |
287 | UnloadAppDomain(instance.AppDomain); | 283 | UnloadAppDomain(instance.AppDomain); |
288 | } | 284 | } |
285 | |||
286 | // Release events, timer, etc | ||
287 | // | ||
288 | instance.DestroyScriptInstance(); | ||
289 | } | 289 | } |
290 | m_Scripts.Clear(); | 290 | m_Scripts.Clear(); |
291 | m_PrimObjects.Clear(); | 291 | m_PrimObjects.Clear(); |
@@ -802,9 +802,6 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
802 | } | 802 | } |
803 | } | 803 | } |
804 | 804 | ||
805 | instance.RemoveState(); | ||
806 | instance.DestroyScriptInstance(); | ||
807 | |||
808 | m_DomainScripts[instance.AppDomain].Remove(instance.ItemID); | 805 | m_DomainScripts[instance.AppDomain].Remove(instance.ItemID); |
809 | if (m_DomainScripts[instance.AppDomain].Count == 0) | 806 | if (m_DomainScripts[instance.AppDomain].Count == 0) |
810 | { | 807 | { |
@@ -812,6 +809,9 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
812 | UnloadAppDomain(instance.AppDomain); | 809 | UnloadAppDomain(instance.AppDomain); |
813 | } | 810 | } |
814 | 811 | ||
812 | instance.RemoveState(); | ||
813 | instance.DestroyScriptInstance(); | ||
814 | |||
815 | instance = null; | 815 | instance = null; |
816 | 816 | ||
817 | ObjectRemoved handlerObjectRemoved = OnObjectRemoved; | 817 | ObjectRemoved handlerObjectRemoved = OnObjectRemoved; |