aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDiva Canto2011-01-07 10:04:39 -0800
committerDiva Canto2011-01-07 10:04:39 -0800
commit52f88f5739980bb53d126949725bf38daf5e0800 (patch)
treec56ba966e0798c648b7b8091d2bf8f4b77710738
parentCanonicalize URL endings for the UserAgentServiceConnector. (diff)
downloadopensim-SC-52f88f5739980bb53d126949725bf38daf5e0800.zip
opensim-SC-52f88f5739980bb53d126949725bf38daf5e0800.tar.gz
opensim-SC-52f88f5739980bb53d126949725bf38daf5e0800.tar.bz2
opensim-SC-52f88f5739980bb53d126949725bf38daf5e0800.tar.xz
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.
-rw-r--r--OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs5
1 files changed, 4 insertions, 1 deletions
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
300 if (s.RegionInfo.RegionID == destination.RegionID) 300 if (s.RegionInfo.RegionID == destination.RegionID)
301 { 301 {
302 //m_log.Debug("[LOCAL COMMS]: Found region to SendCloseAgent"); 302 //m_log.Debug("[LOCAL COMMS]: Found region to SendCloseAgent");
303 return s.IncomingCloseAgent(id); 303 // Let's spawn a threadlet right here, because this may take
304 // a while
305 Util.FireAndForget(delegate { s.IncomingCloseAgent(id); });
306 return true;
304 } 307 }
305 } 308 }
306 //m_log.Debug("[LOCAL COMMS]: region not found in SendCloseAgent"); 309 //m_log.Debug("[LOCAL COMMS]: region not found in SendCloseAgent");