diff options
author | Melanie | 2012-09-04 22:53:52 +0200 |
---|---|---|
committer | Melanie | 2012-09-04 22:53:52 +0200 |
commit | 9ae293881addf98844b8f292298bc0674ebbed0d (patch) | |
tree | a3ce8a6bcb133c964f0b115094c1abef1e5c5cc3 /OpenSim/Services/Connectors/Simulation | |
parent | Merge branch 'ubitwork' into avination (diff) | |
download | opensim-SC-9ae293881addf98844b8f292298bc0674ebbed0d.zip opensim-SC-9ae293881addf98844b8f292298bc0674ebbed0d.tar.gz opensim-SC-9ae293881addf98844b8f292298bc0674ebbed0d.tar.bz2 opensim-SC-9ae293881addf98844b8f292298bc0674ebbed0d.tar.xz |
Make friend notifies and closing child agents async because both can
block the heartbeat thread if the sim being contacted is unresponsive
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs index e1c2243..508baf7 100644 --- a/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs +++ b/OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs | |||
@@ -395,17 +395,18 @@ namespace OpenSim.Services.Connectors.Simulation | |||
395 | private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly) | 395 | private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly) |
396 | { | 396 | { |
397 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CloseAgent start"); | 397 | // m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CloseAgent start"); |
398 | Util.FireAndForget(x => { | ||
399 | string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/"; | ||
398 | 400 | ||
399 | string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/"; | 401 | try |
400 | 402 | { | |
401 | try | 403 | WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000, false); |
402 | { | 404 | } |
403 | WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000, false); | 405 | catch (Exception e) |
404 | } | 406 | { |
405 | catch (Exception e) | 407 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR] CloseAgent failed with exception; {0}",e.ToString()); |
406 | { | 408 | } |
407 | m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR] CloseAgent failed with exception; {0}",e.ToString()); | 409 | }); |
408 | } | ||
409 | 410 | ||
410 | return true; | 411 | return true; |
411 | } | 412 | } |