diff options
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 | { |