Merge commit '839c1cdcc4e9ce410636becb5b81190463dec5bf' into bigmerge

avinationmerge
Melanie 2011-10-11 22:53:53 +01:00
commit 308b6937ad
1 changed files with 17 additions and 14 deletions

View File

@ -179,6 +179,7 @@ namespace OpenSim.Region.ClientStack.Linden
{
Queue<OSD> queue = GetQueue(avatarID);
if (queue != null)
lock (queue)
queue.Enqueue(ev);
}
catch (NullReferenceException e)
@ -338,12 +339,8 @@ namespace OpenSim.Region.ClientStack.Linden
Queue<OSD> queue = GetQueue(agentID);
if (queue != null)
lock (queue)
{
if (queue.Count > 0)
return true;
else
return false;
}
return queue.Count > 0;
return false;
}
@ -358,8 +355,6 @@ namespace OpenSim.Region.ClientStack.Linden
element = queue.Dequeue(); // 15s timeout
}
int thisID = 0;
lock (m_ids)
thisID = m_ids[pAgentId];
@ -431,7 +426,10 @@ namespace OpenSim.Region.ClientStack.Linden
// }
Queue<OSD> queue = TryGetQueue(agentID);
OSD element = queue.Dequeue(); // 15s timeout
OSD element;
lock (queue)
element = queue.Dequeue(); // 15s timeout
Hashtable responsedata = new Hashtable();
@ -470,12 +468,16 @@ namespace OpenSim.Region.ClientStack.Linden
else
{
array.Add(element);
lock (queue)
{
while (queue.Count > 0)
{
array.Add(queue.Dequeue());
thisID++;
}
}
}
OSDMap events = new OSDMap();
events.Add("events", array);
@ -520,6 +522,7 @@ namespace OpenSim.Region.ClientStack.Linden
AvatarID = m_QueueUUIDAvatarMapping[capUUID];
}
}
if (AvatarID != UUID.Zero)
{
return ProcessQueue(request, AvatarID, m_scene.CapsModule.GetCapsForUser(AvatarID));