diff options
Diffstat (limited to 'OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs')
-rw-r--r-- | OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs index 14343b1..96670f1 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/AppDomainManager.cs | |||
@@ -15,11 +15,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
15 | { | 15 | { |
16 | public class AppDomainManager | 16 | public class AppDomainManager |
17 | { | 17 | { |
18 | private int MaxScriptsPerAppDomain = 1; | 18 | private int maxScriptsPerAppDomain = 1; |
19 | /// <summary> | 19 | /// <summary> |
20 | /// Internal list of all AppDomains | 20 | /// Internal list of all AppDomains |
21 | /// </summary> | 21 | /// </summary> |
22 | private List<AppDomainStructure> AppDomains = new List<AppDomainStructure>(); | 22 | private List<AppDomainStructure> appDomains = new List<AppDomainStructure>(); |
23 | /// <summary> | 23 | /// <summary> |
24 | /// Structure to keep track of data around AppDomain | 24 | /// Structure to keep track of data around AppDomain |
25 | /// </summary> | 25 | /// </summary> |
@@ -41,9 +41,9 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
41 | /// <summary> | 41 | /// <summary> |
42 | /// Current AppDomain | 42 | /// Current AppDomain |
43 | /// </summary> | 43 | /// </summary> |
44 | private AppDomainStructure CurrentAD; | 44 | private AppDomainStructure currentAD; |
45 | private object GetLock = new object(); // Mutex | 45 | private object getLock = new object(); // Mutex |
46 | private object FreeLock = new object(); // Mutex | 46 | private object freeLock = new object(); // Mutex |
47 | 47 | ||
48 | //private ScriptEngine m_scriptEngine; | 48 | //private ScriptEngine m_scriptEngine; |
49 | //public AppDomainManager(ScriptEngine scriptEngine) | 49 | //public AppDomainManager(ScriptEngine scriptEngine) |
@@ -59,25 +59,25 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
59 | private AppDomainStructure GetFreeAppDomain() | 59 | private AppDomainStructure GetFreeAppDomain() |
60 | { | 60 | { |
61 | Console.WriteLine("Finding free AppDomain"); | 61 | Console.WriteLine("Finding free AppDomain"); |
62 | lock (GetLock) | 62 | lock (getLock) |
63 | { | 63 | { |
64 | // Current full? | 64 | // Current full? |
65 | if (CurrentAD != null && CurrentAD.ScriptsLoaded >= MaxScriptsPerAppDomain) | 65 | if (currentAD != null && currentAD.ScriptsLoaded >= maxScriptsPerAppDomain) |
66 | { | 66 | { |
67 | // Add it to AppDomains list and empty current | 67 | // Add it to AppDomains list and empty current |
68 | AppDomains.Add(CurrentAD); | 68 | appDomains.Add(currentAD); |
69 | CurrentAD = null; | 69 | currentAD = null; |
70 | } | 70 | } |
71 | // No current | 71 | // No current |
72 | if (CurrentAD == null) | 72 | if (currentAD == null) |
73 | { | 73 | { |
74 | // Create a new current AppDomain | 74 | // Create a new current AppDomain |
75 | CurrentAD = new AppDomainStructure(); | 75 | currentAD = new AppDomainStructure(); |
76 | CurrentAD.CurrentAppDomain = PrepareNewAppDomain(); | 76 | currentAD.CurrentAppDomain = PrepareNewAppDomain(); |
77 | } | 77 | } |
78 | 78 | ||
79 | Console.WriteLine("Scripts loaded in this Appdomain: " + CurrentAD.ScriptsLoaded); | 79 | Console.WriteLine("Scripts loaded in this Appdomain: " + currentAD.ScriptsLoaded); |
80 | return CurrentAD; | 80 | return currentAD; |
81 | } // lock | 81 | } // lock |
82 | } | 82 | } |
83 | 83 | ||
@@ -112,13 +112,13 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
112 | /// </summary> | 112 | /// </summary> |
113 | private void UnloadAppDomains() | 113 | private void UnloadAppDomains() |
114 | { | 114 | { |
115 | lock (FreeLock) | 115 | lock (freeLock) |
116 | { | 116 | { |
117 | // Go through all | 117 | // Go through all |
118 | foreach (AppDomainStructure ads in new System.Collections.ArrayList(AppDomains)) | 118 | foreach (AppDomainStructure ads in new System.Collections.ArrayList(appDomains)) |
119 | { | 119 | { |
120 | // Don't process current AppDomain | 120 | // Don't process current AppDomain |
121 | if (ads.CurrentAppDomain != CurrentAD.CurrentAppDomain) | 121 | if (ads.CurrentAppDomain != currentAD.CurrentAppDomain) |
122 | { | 122 | { |
123 | // Not current AppDomain | 123 | // Not current AppDomain |
124 | // Is number of unloaded bigger or equal to number of loaded? | 124 | // Is number of unloaded bigger or equal to number of loaded? |
@@ -126,7 +126,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
126 | { | 126 | { |
127 | Console.WriteLine("Found empty AppDomain, unloading"); | 127 | Console.WriteLine("Found empty AppDomain, unloading"); |
128 | // Remove from internal list | 128 | // Remove from internal list |
129 | AppDomains.Remove(ads); | 129 | appDomains.Remove(ads); |
130 | #if DEBUG | 130 | #if DEBUG |
131 | long m = GC.GetTotalMemory(true); | 131 | long m = GC.GetTotalMemory(true); |
132 | #endif | 132 | #endif |
@@ -164,19 +164,19 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine | |||
164 | //[Obsolete("Needs fixing, needs a real purpose in life!!!")] | 164 | //[Obsolete("Needs fixing, needs a real purpose in life!!!")] |
165 | public void StopScript(AppDomain ad) | 165 | public void StopScript(AppDomain ad) |
166 | { | 166 | { |
167 | lock (FreeLock) | 167 | lock (freeLock) |
168 | { | 168 | { |
169 | Console.WriteLine("Stopping script in AppDomain"); | 169 | Console.WriteLine("Stopping script in AppDomain"); |
170 | // Check if it is current AppDomain | 170 | // Check if it is current AppDomain |
171 | if (CurrentAD.CurrentAppDomain == ad) | 171 | if (currentAD.CurrentAppDomain == ad) |
172 | { | 172 | { |
173 | // Yes - increase | 173 | // Yes - increase |
174 | CurrentAD.ScriptsWaitingUnload++; | 174 | currentAD.ScriptsWaitingUnload++; |
175 | return; | 175 | return; |
176 | } | 176 | } |
177 | 177 | ||
178 | // Lopp through all AppDomains | 178 | // Lopp through all AppDomains |
179 | foreach (AppDomainStructure ads in new System.Collections.ArrayList(AppDomains)) | 179 | foreach (AppDomainStructure ads in new System.Collections.ArrayList(appDomains)) |
180 | { | 180 | { |
181 | if (ads.CurrentAppDomain == ad) | 181 | if (ads.CurrentAppDomain == ad) |
182 | { | 182 | { |