diff options
author | Justin Clark-Casey (justincc) | 2013-05-16 17:30:30 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-05-16 17:30:30 +0100 |
commit | 3bc8cf65a4e933cfdd0597affc1685c74fb29dba (patch) | |
tree | 9c5fd3d0a82377dc99df7ae01629b88e8472ad58 /OpenSim/Region/CoreModules | |
parent | On closing child agents, send separate asynchronous requests to each neighbou... (diff) | |
download | opensim-SC-3bc8cf65a4e933cfdd0597affc1685c74fb29dba.zip opensim-SC-3bc8cf65a4e933cfdd0597affc1685c74fb29dba.tar.gz opensim-SC-3bc8cf65a4e933cfdd0597affc1685c74fb29dba.tar.bz2 opensim-SC-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/CoreModules')
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 1 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | 2 |
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 | ||