aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-05-16 17:30:30 +0100
committerJustin Clark-Casey (justincc)2013-05-16 17:30:30 +0100
commit3bc8cf65a4e933cfdd0597affc1685c74fb29dba (patch)
tree9c5fd3d0a82377dc99df7ae01629b88e8472ad58 /OpenSim/Region
parentOn closing child agents, send separate asynchronous requests to each neighbou... (diff)
downloadopensim-SC_OLD-3bc8cf65a4e933cfdd0597affc1685c74fb29dba.zip
opensim-SC_OLD-3bc8cf65a4e933cfdd0597affc1685c74fb29dba.tar.gz
opensim-SC_OLD-3bc8cf65a4e933cfdd0597affc1685c74fb29dba.tar.bz2
opensim-SC_OLD-3bc8cf65a4e933cfdd0597affc1685c74fb29dba.tar.xz
Where this is not already happening, trigger asychoronous calls to CloseChildAgent() above the LocalSimulationConnector level.
This is so that other callers (such as SceneCommunicationService.SendCloseChildAgentConnections() can perform all closes asynchronously without pointlessly firing another thread for local closes). No functional change apart from elimination of unnecessary chaining of new threads.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs1
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs2
2 files changed, 2 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index eac0da7..9579449 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -937,6 +937,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
937 EnableChildAgents(sp); 937 EnableChildAgents(sp);
938 938
939 // Finally, kill the agent we just created at the destination. 939 // Finally, kill the agent we just created at the destination.
940 // XXX: Possibly this should be done asynchronously.
940 Scene.SimulationService.CloseAgent(finalDestination, sp.UUID); 941 Scene.SimulationService.CloseAgent(finalDestination, sp.UUID);
941 } 942 }
942 943
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
index a413546..9427961 100644
--- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
+++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
@@ -317,7 +317,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
317// "[LOCAL SIMULATION CONNECTOR]: Found region {0} {1} to send AgentUpdate", 317// "[LOCAL SIMULATION CONNECTOR]: Found region {0} {1} to send AgentUpdate",
318// s.RegionInfo.RegionName, destination.RegionHandle); 318// s.RegionInfo.RegionName, destination.RegionHandle);
319 319
320 Util.FireAndForget(delegate { m_scenes[destination.RegionID].IncomingCloseAgent(id, false); }); 320 m_scenes[destination.RegionID].IncomingCloseAgent(id, false);
321 return true; 321 return true;
322 } 322 }
323 323