aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
diff options
context:
space:
mode:
authorUbitUmarov2019-01-01 12:06:29 +0000
committerUbitUmarov2019-01-01 12:06:29 +0000
commit02492f7b15f29419c1ea4725a6ae6959bc199912 (patch)
tree2967fed8eba4d3b801a763ddeb50804226c446cb /OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
parenttemporary HACK to not kill some viewers (diff)
downloadopensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.zip
opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.gz
opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.bz2
opensim-SC-02492f7b15f29419c1ea4725a6ae6959bc199912.tar.xz
replace my hack by others hack
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs30
1 files changed, 10 insertions, 20 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index afa1e4c..667acf9 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -1919,38 +1919,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1919 uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AuthenticateResponse sessionInfo) 1919 uint circuitCode, UUID agentID, UUID sessionID, IPEndPoint remoteEndPoint, AuthenticateResponse sessionInfo)
1920 { 1920 {
1921 IClientAPI client = null; 1921 IClientAPI client = null;
1922 bool createNew = false;
1923 1922
1924 // We currently synchronize this code across the whole scene to avoid issues such as 1923 // We currently synchronize this code across the whole scene to avoid issues such as
1925 // http://opensimulator.org/mantis/view.php?id=5365 However, once locking per agent circuit can be done 1924 // http://opensimulator.org/mantis/view.php?id=5365 However, once locking per agent circuit can be done
1926 // consistently, this lock could probably be removed. 1925 // consistently, this lock could probably be removed.
1927 lock (this) 1926 lock (this)
1928 { 1927 {
1929 if (!Scene.TryGetClient(agentID, out client)) 1928 if (Scene.TryGetClient(agentID, out client))
1930 { 1929 {
1931 createNew = true; 1930 if (client.SceneAgent != null)
1932 } 1931 return client;
1933 else 1932 Scene.CloseAgent(agentID, true);
1934 {
1935 if (client.SceneAgent == null)
1936 {
1937 Scene.CloseAgent(agentID, true);
1938 createNew = true;
1939 }
1940 } 1933 }
1941 1934
1942 if (createNew) 1935 LLUDPClient udpClient = new LLUDPClient(this, ThrottleRates, Throttle, circuitCode, agentID, remoteEndPoint, m_defaultRTO, m_maxRTO);
1943 {
1944 LLUDPClient udpClient = new LLUDPClient(this, ThrottleRates, Throttle, circuitCode, agentID, remoteEndPoint, m_defaultRTO, m_maxRTO);
1945 1936
1946 client = new LLClientView(Scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode); 1937 client = new LLClientView(Scene, this, udpClient, sessionInfo, agentID, sessionID, circuitCode);
1947 client.OnLogout += LogoutHandler; 1938 client.OnLogout += LogoutHandler;
1948 client.DebugPacketLevel = DefaultClientPacketDebugLevel; 1939 client.DebugPacketLevel = DefaultClientPacketDebugLevel;
1949 1940
1950 ((LLClientView)client).DisableFacelights = m_disableFacelights; 1941 ((LLClientView)client).DisableFacelights = m_disableFacelights;
1951 1942
1952 client.Start(); 1943 client.Start();
1953 }
1954 } 1944 }
1955 1945
1956 return client; 1946 return client;