aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs23
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs4
2 files changed, 21 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 1b72b26..43167ee 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -1631,11 +1631,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1631 CompleteAgentMovementPacket packet = (CompleteAgentMovementPacket)array[1]; 1631 CompleteAgentMovementPacket packet = (CompleteAgentMovementPacket)array[1];
1632 1632
1633 // Determine which agent this packet came from 1633 // Determine which agent this packet came from
1634 int count = 10; 1634 int count = 20;
1635 while (!m_scene.TryGetClient(endPoint, out client) && count-- > 0) 1635 bool ready = false;
1636 while (!ready && count-- > 0)
1636 { 1637 {
1637 m_log.Debug("[LLUDPSERVER]: Received a CompleteMovementIntoRegion in " + m_scene.RegionInfo.RegionName + " (not ready yet)"); 1638 if (m_scene.TryGetClient(endPoint, out client) && client.IsActive)
1638 Thread.Sleep(200); 1639 {
1640 LLUDPClient udpClient = ((LLClientView)client).UDPClient;
1641 if (udpClient != null && udpClient.IsConnected)
1642 ready = true;
1643 else
1644 {
1645 m_log.Debug("[LLUDPSERVER]: Received a CompleteMovementIntoRegion in " + m_scene.RegionInfo.RegionName + " (not ready yet)");
1646 Thread.Sleep(200);
1647 }
1648 }
1649 else
1650 {
1651 m_log.Debug("[LLUDPSERVER]: Received a CompleteMovementIntoRegion in " + m_scene.RegionInfo.RegionName + " (not ready yet)");
1652 Thread.Sleep(200);
1653 }
1639 } 1654 }
1640 1655
1641 if (client == null) 1656 if (client == null)
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index da8a1b8..84fdef0 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -4226,10 +4226,10 @@ namespace OpenSim.Region.Framework.Scenes
4226 if (cAgentData.SenderWantsToWaitForRoot) 4226 if (cAgentData.SenderWantsToWaitForRoot)
4227 { 4227 {
4228 while (childAgentUpdate.IsChildAgent && ntimes-- > 0) 4228 while (childAgentUpdate.IsChildAgent && ntimes-- > 0)
4229 Thread.Sleep(500); 4229 Thread.Sleep(1000);
4230 4230
4231 m_log.DebugFormat( 4231 m_log.DebugFormat(
4232 "[SCENE PRESENCE]: Found presence {0} {1} {2} in {3} after {4} waits", 4232 "[SCENE]: Found presence {0} {1} {2} in {3} after {4} waits",
4233 childAgentUpdate.Name, childAgentUpdate.UUID, childAgentUpdate.IsChildAgent ? "child" : "root", RegionInfo.RegionName, 20 - ntimes); 4233 childAgentUpdate.Name, childAgentUpdate.UUID, childAgentUpdate.IsChildAgent ? "child" : "root", RegionInfo.RegionName, 20 - ntimes);
4234 4234
4235 if (childAgentUpdate.IsChildAgent) 4235 if (childAgentUpdate.IsChildAgent)