diff options
author | Melanie | 2012-09-23 23:55:28 +0200 |
---|---|---|
committer | Melanie | 2012-09-23 23:55:28 +0200 |
commit | 68ece236a6cd8a2a9bc009287e43debdc6e9a79d (patch) | |
tree | b25a566952219e8aefff9ec26595e803ab84e30f /OpenSim/Region/ClientStack/Linden/Caps/GetTextureModule.cs | |
parent | Merge branch 'ubitwork' into avination (diff) | |
download | opensim-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.cs | 14 |
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 | ||