mirror of
https://github.com/opensim/opensim.git
synced 2026-08-08 02:05:34 +08:00
Revert "Merging in diva's locking fixes"
This reverts commit 832cc68513.
This commit is contained in:
@@ -442,46 +442,42 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||
|
||||
private ScenePresence GetRootPresenceFromAgentID(UUID AgentID)
|
||||
{
|
||||
List<Scene> scenes = null;
|
||||
lock (m_scenes)
|
||||
scenes = new List<Scene>(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)
|
||||
{
|
||||
if (!queryagent.IsChildAgent)
|
||||
{
|
||||
returnAgent = queryagent;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return returnAgent;
|
||||
}
|
||||
|
||||
private ScenePresence GetAnyPresenceFromAgentID(UUID AgentID)
|
||||
{
|
||||
ScenePresence returnAgent = null;
|
||||
lock (m_scenes)
|
||||
{
|
||||
ScenePresence queryagent = null;
|
||||
foreach (Scene scene in m_scenes.Values)
|
||||
{
|
||||
queryagent = scene.GetScenePresence(AgentID);
|
||||
if (queryagent != null)
|
||||
{
|
||||
returnAgent = queryagent;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return returnAgent;
|
||||
}
|
||||
|
||||
private ScenePresence GetAnyPresenceFromAgentID(UUID AgentID)
|
||||
{
|
||||
List<Scene> scenes = null;
|
||||
lock (m_scenes)
|
||||
scenes = new List<Scene>(m_scenes.Values);
|
||||
|
||||
ScenePresence returnAgent = null;
|
||||
ScenePresence queryagent = null;
|
||||
foreach (Scene scene in m_scenes.Values)
|
||||
{
|
||||
queryagent = scene.GetScenePresence(AgentID);
|
||||
if (queryagent != null)
|
||||
{
|
||||
returnAgent = queryagent;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return returnAgent;
|
||||
}
|
||||
|
||||
|
||||
@@ -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<Scene> scenes = null;
|
||||
lock (m_Scenes)
|
||||
scenes = new List<Scene>(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...
|
||||
|
||||
@@ -111,17 +111,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||
|
||||
private Scene FindClientScene(UUID agentId)
|
||||
{
|
||||
List<Scene> scenes = null;
|
||||
lock (m_Scenelist)
|
||||
scenes = new List<Scene>(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;
|
||||
|
||||
Reference in New Issue
Block a user