diff options
author | Melanie | 2009-08-06 22:03:20 +0100 |
---|---|---|
committer | Melanie | 2009-08-06 22:03:20 +0100 |
commit | 91f6898b26caa8f74533dbd90478cf4103251abe (patch) | |
tree | 0ee8d1b94c3f0667d32cbf56043fd021fc8d8b73 /OpenSim/Region/ScriptEngine/Interfaces | |
parent | Merge branch 'master' of ssh://melanie@opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-91f6898b26caa8f74533dbd90478cf4103251abe.zip opensim-SC-91f6898b26caa8f74533dbd90478cf4103251abe.tar.gz opensim-SC-91f6898b26caa8f74533dbd90478cf4103251abe.tar.bz2 opensim-SC-91f6898b26caa8f74533dbd90478cf4103251abe.tar.xz |
|From: James J Greensky <jame.j.greensky@intel.com>
|Date: Wed, 5 Aug 2009 09:51:52 -0700
|Subject: [PATCH] Closed two major memory leaks for scripted objects
|
|Two major memory leaks for the scripted objects were fixed
|- One leak had to do with remoting acrossing app domains. When a script and
| its controlling agent communicate across an application boundary, it calls
| functions on a stub proxy object that then invokes the remote method on
| the object in the other app domain. These stub objects (two for each script)
| were setup to have infinate lifetimes and were never being garbage collected.
|- The second leak was the result of adding a scene object part instance method
| to a scene event and never removing it. This cause the event's delegate list
| to maintain a link to that object which is then never freed as the scene event
| object is never destroyed.
Patch applied, please direct feedback to me. Possible issue: Longtime idle
scripts like vendors may fail.
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Interfaces')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Interfaces/IScript.cs | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Interfaces/IScript.cs b/OpenSim/Region/ScriptEngine/Interfaces/IScript.cs index b9618d1..726dabc 100644 --- a/OpenSim/Region/ScriptEngine/Interfaces/IScript.cs +++ b/OpenSim/Region/ScriptEngine/Interfaces/IScript.cs | |||
@@ -41,5 +41,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
41 | Dictionary<string,Object> GetVars(); | 41 | Dictionary<string,Object> GetVars(); |
42 | void SetVars(Dictionary<string,Object> vars); | 42 | void SetVars(Dictionary<string,Object> vars); |
43 | void ResetVars(); | 43 | void ResetVars(); |
44 | |||
45 | void Close(); | ||
44 | } | 46 | } |
45 | } | 47 | } |