diff options
author | Tom Grimshaw | 2010-07-17 15:08:59 -0700 |
---|---|---|
committer | Tom Grimshaw | 2010-07-17 15:08:59 -0700 |
commit | fabe2206db37be39a90254da8a7fff973f2dd977 (patch) | |
tree | ad91ef82e987e34f9746559342518610140b469d /OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |
parent | Revert 233c872.. "* Call client.Start() sunchronously. Calling thos async avo... (diff) | |
download | opensim-SC_OLD-fabe2206db37be39a90254da8a7fff973f2dd977.zip opensim-SC_OLD-fabe2206db37be39a90254da8a7fff973f2dd977.tar.gz opensim-SC_OLD-fabe2206db37be39a90254da8a7fff973f2dd977.tar.bz2 opensim-SC_OLD-fabe2206db37be39a90254da8a7fff973f2dd977.tar.xz |
Ensure that packets do NOT get delivered to a client before the modules that can deal with the client's response have finished loading.
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs index cda461c..3b63bcd 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs | |||
@@ -900,7 +900,28 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
900 | 900 | ||
901 | // Start the IClientAPI | 901 | // Start the IClientAPI |
902 | // Spin it off so that it doesn't clog up the LLUDPServer | 902 | // Spin it off so that it doesn't clog up the LLUDPServer |
903 | Util.FireAndForget(delegate(object o) { client.Start(); }); | 903 | |
904 | //First, and very importantly: | ||
905 | // | ||
906 | //Set our DeliverPackets flag in the client to *false* | ||
907 | //this will prevent us from missing important messages | ||
908 | //before the modules are bound | ||
909 | client.DeliverPackets = false; | ||
910 | |||
911 | Util.FireAndForget( | ||
912 | delegate | ||
913 | { | ||
914 | try | ||
915 | { | ||
916 | client.Start(); | ||
917 | } | ||
918 | finally | ||
919 | { | ||
920 | //Now, release the hounds. er, packets. | ||
921 | client.DeliverPackets = true; | ||
922 | } | ||
923 | } | ||
924 | ); | ||
904 | } | 925 | } |
905 | else | 926 | else |
906 | { | 927 | { |