aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
diff options
context:
space:
mode:
authorMelanie2012-09-23 23:55:28 +0200
committerMelanie2012-09-23 23:55:28 +0200
commit68ece236a6cd8a2a9bc009287e43debdc6e9a79d (patch)
treeb25a566952219e8aefff9ec26595e803ab84e30f /OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
parentMerge branch 'ubitwork' into avination (diff)
downloadopensim-SC_OLD-68ece236a6cd8a2a9bc009287e43debdc6e9a79d.zip
opensim-SC_OLD-68ece236a6cd8a2a9bc009287e43debdc6e9a79d.tar.gz
opensim-SC_OLD-68ece236a6cd8a2a9bc009287e43debdc6e9a79d.tar.bz2
opensim-SC_OLD-68ece236a6cd8a2a9bc009287e43debdc6e9a79d.tar.xz
Protect the responses map with a lock. Also remove ugly "this." type of
member notation.
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs14
1 files changed, 8 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
index 0ac56ec..2000279 100644
--- a/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
+++ b/OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs
@@ -146,14 +146,14 @@ namespace OpenSim.Region.ClientStack.Linden
146 { 146 {
147 m_scene = scene; 147 m_scene = scene;
148 148
149 HasEvents = (x, y) => { return this.responses.ContainsKey(x); }; 149 HasEvents = (x, y) => { lock (responses) return responses.ContainsKey(x); };
150 GetEvents = (x, y, s) => 150 GetEvents = (x, y, s) =>
151 { 151 {
152 lock (responses) 152 lock (responses)
153 { 153 {
154 try 154 try
155 { 155 {
156 return this.responses[x]; 156 return responses[x];
157 } 157 }
158 finally 158 finally
159 { 159 {
@@ -165,15 +165,15 @@ namespace OpenSim.Region.ClientStack.Linden
165 Request = (x, y) => 165 Request = (x, y) =>
166 { 166 {
167 y["RequestID"] = x.ToString(); 167 y["RequestID"] = x.ToString();
168 lock (this.requests) 168 lock (requests)
169 this.requests.Add(y); 169 requests.Add(y);
170 170
171 m_queue.Enqueue(this); 171 m_queue.Enqueue(this);
172 }; 172 };
173 173
174 NoEvents = (x, y) => 174 NoEvents = (x, y) =>
175 { 175 {
176 lock (this.requests) 176 lock (requests)
177 { 177 {
178 Hashtable request = requests.Find(id => id["RequestID"].ToString() == x.ToString()); 178 Hashtable request = requests.Find(id => id["RequestID"].ToString() == x.ToString());
179 requests.Remove(request); 179 requests.Remove(request);
@@ -198,7 +198,7 @@ namespace OpenSim.Region.ClientStack.Linden
198 198
199 try 199 try
200 { 200 {
201 lock (this.requests) 201 lock (requests)
202 { 202 {
203 request = requests[0]; 203 request = requests[0];
204 requests.RemoveAt(0); 204 requests.RemoveAt(0);
@@ -221,8 +221,10 @@ namespace OpenSim.Region.ClientStack.Linden
221 response["content_type"] = "text/plain"; 221 response["content_type"] = "text/plain";
222 response["keepalive"] = false; 222 response["keepalive"] = false;
223 response["reusecontext"] = false; 223 response["reusecontext"] = false;
224
224 lock (responses) 225 lock (responses)
225 responses[requestID] = response; 226 responses[requestID] = response;
227
226 return; 228 return;
227 } 229 }
228 230