diff options
author | dahlia | 2013-07-16 02:03:01 -0700 |
---|---|---|
committer | dahlia | 2013-07-16 02:03:01 -0700 |
commit | 6dd454240fb962a408c979060701531f0f458e8e (patch) | |
tree | 729900b87c23267e14ee831e4e0be6be5fc2e8f0 /OpenSim/Region/ClientStack | |
parent | add locking to internal queue in WebFetchInvDescModule; lack of which caused ... (diff) | |
download | opensim-SC_OLD-6dd454240fb962a408c979060701531f0f458e8e.zip opensim-SC_OLD-6dd454240fb962a408c979060701531f0f458e8e.tar.gz opensim-SC_OLD-6dd454240fb962a408c979060701531f0f458e8e.tar.bz2 opensim-SC_OLD-6dd454240fb962a408c979060701531f0f458e8e.tar.xz |
revert last commit which seems to conflict with DoubleQueue internals. The random crash might be in DoubleQueue instead. See http://pastebin.com/XhNBNqsc
Diffstat (limited to 'OpenSim/Region/ClientStack')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs index 4ff617f..164adeb 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs | |||
@@ -254,13 +254,10 @@ namespace OpenSim.Region.ClientStack.Linden | |||
254 | } | 254 | } |
255 | } | 255 | } |
256 | 256 | ||
257 | lock (m_queue) | 257 | if (highPriority) |
258 | { | 258 | m_queue.EnqueueHigh(reqinfo); |
259 | if (highPriority) | 259 | else |
260 | m_queue.EnqueueHigh(reqinfo); | 260 | m_queue.EnqueueLow(reqinfo); |
261 | else | ||
262 | m_queue.EnqueueLow(reqinfo); | ||
263 | } | ||
264 | }; | 261 | }; |
265 | 262 | ||
266 | NoEvents = (x, y) => | 263 | NoEvents = (x, y) => |
@@ -348,9 +345,7 @@ namespace OpenSim.Region.ClientStack.Linden | |||
348 | { | 345 | { |
349 | Watchdog.UpdateThread(); | 346 | Watchdog.UpdateThread(); |
350 | 347 | ||
351 | aPollRequest poolreq = null; | 348 | aPollRequest poolreq = m_queue.Dequeue(); |
352 | lock (m_queue) | ||
353 | poolreq = m_queue.Dequeue(); | ||
354 | 349 | ||
355 | if (poolreq != null && poolreq.thepoll != null) | 350 | if (poolreq != null && poolreq.thepoll != null) |
356 | poolreq.thepoll.Process(poolreq); | 351 | poolreq.thepoll.Process(poolreq); |