aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
diff options
context:
space:
mode:
authorTom Grimshaw2010-07-17 15:08:59 -0700
committerTom Grimshaw2010-07-17 15:08:59 -0700
commitfabe2206db37be39a90254da8a7fff973f2dd977 (patch)
treead91ef82e987e34f9746559342518610140b469d /OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
parentRevert 233c872.. "* Call client.Start() sunchronously. Calling thos async avo... (diff)
downloadopensim-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.cs23
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 {