diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index 1b81105..f2bcc0b 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -899,6 +899,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
899 | client.OnLogout += LogoutHandler; | 899 | client.OnLogout += LogoutHandler; |
900 | 900 | ||
901 | // Start the IClientAPI | 901 | // Start the IClientAPI |
902 | // Spin it off so that it doesn't clog up the LLUDPServer | ||
903 | //Util.FireAndForget(delegate(object o) { client.Start(); }); | ||
904 | |||
905 | // NOTE: DO NOT CALL THIS ASYNCHRONOUSLY!!!!! | ||
906 | // This method will ultimately cause the modules to hook | ||
907 | // client events in OnNewClient. If they can't do this | ||
908 | // before further packets are processed, packets WILL BE LOST. | ||
909 | // This includes the all-important EconomyDataRequest! | ||
910 | // So using FireAndForget here WILL screw up money. Badly. | ||
911 | // You have been warned! | ||
902 | client.Start(); | 912 | client.Start(); |
903 | } | 913 | } |
904 | else | 914 | else |
@@ -915,7 +925,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
915 | if (m_scene.TryGetClient(udpClient.AgentID, out client)) | 925 | if (m_scene.TryGetClient(udpClient.AgentID, out client)) |
916 | { | 926 | { |
917 | client.IsLoggingOut = true; | 927 | client.IsLoggingOut = true; |
918 | client.Close(); | 928 | client.Close(false); |
919 | } | 929 | } |
920 | } | 930 | } |
921 | 931 | ||