From 52f88f5739980bb53d126949725bf38daf5e0800 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Fri, 7 Jan 2011 10:04:39 -0800 Subject: Spawn a threadlet upon receiving requests to close agents. The operation may take too long, and we don't need to keep the caller waiting. --- .../ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation') diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs index 37b403e..2dd0099 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs @@ -300,7 +300,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation if (s.RegionInfo.RegionID == destination.RegionID) { //m_log.Debug("[LOCAL COMMS]: Found region to SendCloseAgent"); - return s.IncomingCloseAgent(id); + // Let's spawn a threadlet right here, because this may take + // a while + Util.FireAndForget(delegate { s.IncomingCloseAgent(id); }); + return true; } } //m_log.Debug("[LOCAL COMMS]: region not found in SendCloseAgent"); -- cgit v1.1