From 9618c196c274fefda4437eff6d25c7a12e7a3ee1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Wed, 7 Oct 2009 01:44:36 +0100 Subject: Revert "Merging in diva's locking fixes" This reverts commit 832cc685138b2244529f10b54b373c34adb4a633. --- .../CoreModules/Avatar/Friends/FriendsModule.cs | 42 ++++++++++------------ .../Avatar/InstantMessage/PresenceModule.cs | 11 +++--- .../Inventory/Transfer/InventoryTransferModule.cs | 15 ++++---- 3 files changed, 31 insertions(+), 37 deletions(-) (limited to 'OpenSim/Region/CoreModules/Avatar') diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 4abad81..fc7d63a 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs @@ -442,46 +442,42 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends private ScenePresence GetRootPresenceFromAgentID(UUID AgentID) { - List scenes = null; - lock (m_scenes) - scenes = new List(m_scenes.Values); - ScenePresence returnAgent = null; - ScenePresence queryagent = null; - foreach (Scene scene in scenes) + lock (m_scenes) { - queryagent = scene.GetScenePresence(AgentID); - if (queryagent != null) + ScenePresence queryagent = null; + foreach (Scene scene in m_scenes.Values) { - if (!queryagent.IsChildAgent) + queryagent = scene.GetScenePresence(AgentID); + if (queryagent != null) { - returnAgent = queryagent; - break; + if (!queryagent.IsChildAgent) + { + returnAgent = queryagent; + break; + } } } } - return returnAgent; } private ScenePresence GetAnyPresenceFromAgentID(UUID AgentID) { - List scenes = null; - lock (m_scenes) - scenes = new List(m_scenes.Values); - ScenePresence returnAgent = null; - ScenePresence queryagent = null; - foreach (Scene scene in m_scenes.Values) + lock (m_scenes) { - queryagent = scene.GetScenePresence(AgentID); - if (queryagent != null) + ScenePresence queryagent = null; + foreach (Scene scene in m_scenes.Values) { - returnAgent = queryagent; - break; + queryagent = scene.GetScenePresence(AgentID); + if (queryagent != null) + { + returnAgent = queryagent; + break; + } } } - return returnAgent; } diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs index 42dd7ff..ad05bab 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs @@ -290,14 +290,13 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage // get the agent. This should work every time, as we just got a packet from it ScenePresence agent = null; - List scenes = null; lock (m_Scenes) - scenes = new List(m_Scenes); - - foreach (Scene scene in scenes) { - agent = scene.GetScenePresence(agentID); - if (agent != null) break; + foreach (Scene scene in m_Scenes) + { + agent = scene.GetScenePresence(agentID); + if (agent != null) break; + } } // just to be paranoid... diff --git a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs index e6e0483..d9a021f 100644 --- a/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Inventory/Transfer/InventoryTransferModule.cs @@ -111,17 +111,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer private Scene FindClientScene(UUID agentId) { - List scenes = null; lock (m_Scenelist) - scenes = new List(m_Scenelist); - - foreach (Scene scene in scenes) { - ScenePresence presence = scene.GetScenePresence(agentId); - if (presence != null) + foreach (Scene scene in m_Scenelist) { - if (!presence.IsChildAgent) - return scene; + ScenePresence presence = scene.GetScenePresence(agentId); + if (presence != null) + { + if (!presence.IsChildAgent) + return scene; + } } } return null; -- cgit v1.1