diff options
author | UbitUmarov | 2019-01-01 12:06:29 +0000 |
---|---|---|
committer | UbitUmarov | 2019-01-01 12:06:29 +0000 |
commit | 02492f7b15f29419c1ea4725a6ae6959bc199912 (patch) | |
tree | 2967fed8eba4d3b801a763ddeb50804226c446cb /OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |
parent | temporary HACK to not kill some viewers (diff) | |
download | opensim-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.cs | 30 |
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; |