From 10d923dbeaa3eac8d085ab14bb8fab4a71e1fd29 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 11 Aug 2009 16:47:36 -0700 Subject: 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. --- .../Agent/Capabilities/CapabilitiesModule.cs | 2 +- .../Framework/EventQueue/EventQueueGetModule.cs | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) (limited to 'OpenSim/Region/CoreModules') diff --git a/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs b/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs index 56545d6..0c6900d 100644 --- a/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs +++ b/OpenSim/Region/CoreModules/Agent/Capabilities/CapabilitiesModule.cs @@ -210,7 +210,7 @@ namespace OpenSim.Region.CoreModules.Agent.Capabilities public void SetChildrenSeed(UUID agentID, Dictionary 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; } diff --git a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs index 8230401..34d46a0 100644 --- a/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EventQueue/EventQueueGetModule.cs @@ -328,15 +328,19 @@ namespace OpenSim.Region.CoreModules.Framework.EventQueue public bool HasEvents(UUID agentID) { - Queue 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 queue = TryGetQueue(agentID); + Queue 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) -- cgit v1.1