mirror of
https://github.com/opensim/opensim.git
synced 2026-05-15 03:15:41 +08:00
add locking to internal queue in WebFetchInvDescModule; lack of which caused a random crash in a load test yesterday
This commit is contained in:
@@ -254,10 +254,13 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
}
|
||||
}
|
||||
|
||||
if (highPriority)
|
||||
m_queue.EnqueueHigh(reqinfo);
|
||||
else
|
||||
m_queue.EnqueueLow(reqinfo);
|
||||
lock (m_queue)
|
||||
{
|
||||
if (highPriority)
|
||||
m_queue.EnqueueHigh(reqinfo);
|
||||
else
|
||||
m_queue.EnqueueLow(reqinfo);
|
||||
}
|
||||
};
|
||||
|
||||
NoEvents = (x, y) =>
|
||||
@@ -345,7 +348,9 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||
{
|
||||
Watchdog.UpdateThread();
|
||||
|
||||
aPollRequest poolreq = m_queue.Dequeue();
|
||||
aPollRequest poolreq = null;
|
||||
lock (m_queue)
|
||||
poolreq = m_queue.Dequeue();
|
||||
|
||||
if (poolreq != null && poolreq.thepoll != null)
|
||||
poolreq.thepoll.Process(poolreq);
|
||||
|
||||
Reference in New Issue
Block a user