aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs23
1 files changed, 19 insertions, 4 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)