mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 18:25:33 +08:00
Fixes a race condition in EQ processing that was making EQs pop up again upon client close.
Commented remote call on GetSystemFolders again, so that it's not live yet.
This commit is contained in:
@@ -210,7 +210,7 @@ namespace OpenSim.Region.CoreModules.Agent.Capabilities
|
||||
|
||||
public void SetChildrenSeed(UUID agentID, Dictionary<ulong, string> seeds)
|
||||
{
|
||||
//m_log.Debug(" !!! Setting child seeds in {0} to {1}", RegionInfo.RegionName, value.Count);
|
||||
//m_log.DebugFormat(" !!! Setting child seeds in {0} to {1}", m_scene.RegionInfo.RegionName, seeds.Count);
|
||||
childrenSeeds[agentID] = seeds;
|
||||
}
|
||||
|
||||
|
||||
@@ -328,15 +328,19 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue
|
||||
|
||||
public bool HasEvents(UUID agentID)
|
||||
{
|
||||
Queue<OSD> queue = TryGetQueue(agentID);
|
||||
lock (queue)
|
||||
{
|
||||
if (queue.Count > 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
// Don't use this, because of race conditions at agent closing time
|
||||
//Queue<OSD> queue = TryGetQueue(agentID);
|
||||
|
||||
Queue<OSD> queue = GetQueue(agentID);
|
||||
if (queue != null)
|
||||
lock (queue)
|
||||
{
|
||||
if (queue.Count > 0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public Hashtable GetEvents(UUID pAgentId, string request)
|
||||
|
||||
@@ -1319,17 +1319,17 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
return m_commsProvider.GridService.RequestNamedRegions(name, maxNumber);
|
||||
}
|
||||
|
||||
// private void Dump(string msg, List<ulong> handles)
|
||||
// {
|
||||
// m_log.Info"-------------- HANDLE DUMP ({0}) ---------", msg);
|
||||
// foreach (ulong handle in handles)
|
||||
// {
|
||||
// uint x, y;
|
||||
// Utils.LongToUInts(handle, out x, out y);
|
||||
// x = x / Constants.RegionSize;
|
||||
// y = y / Constants.RegionSize;
|
||||
// m_log.Info("({0}, {1})", x, y);
|
||||
// }
|
||||
// }
|
||||
//private void Dump(string msg, List<ulong> handles)
|
||||
//{
|
||||
// m_log.InfoFormat("-------------- HANDLE DUMP ({0}) ---------", msg);
|
||||
// foreach (ulong handle in handles)
|
||||
// {
|
||||
// uint x, y;
|
||||
// Utils.LongToUInts(handle, out x, out y);
|
||||
// x = x / Constants.RegionSize;
|
||||
// y = y / Constants.RegionSize;
|
||||
// m_log.InfoFormat("({0}, {1})", x, y);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user