aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authordahlia2013-07-16 02:03:01 -0700
committerdahlia2013-07-16 02:03:01 -0700
commit6dd454240fb962a408c979060701531f0f458e8e (patch)
tree729900b87c23267e14ee831e4e0be6be5fc2e8f0 /OpenSim/Region
parentadd locking to internal queue in WebFetchInvDescModule; lack of which caused ... (diff)
downloadopensim-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')
-rw-r--r--OpenSim/Region/ClientStack/Linden/Caps/WebFetchInvDescModule.cs15
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);