Make friend notifies and closing child agents async because both can

block the heartbeat thread if the sim being contacted is unresponsive
This commit is contained in:
Melanie
2012-09-04 22:53:52 +02:00
parent 8a537f8f66
commit 9ae293881a
3 changed files with 45 additions and 40 deletions

View File

@@ -395,17 +395,18 @@ namespace OpenSim.Services.Connectors.Simulation
private bool CloseAgent(GridRegion destination, UUID id, bool ChildOnly)
{
// m_log.DebugFormat("[REMOTE SIMULATION CONNECTOR]: CloseAgent start");
Util.FireAndForget(x => {
string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/";
string uri = destination.ServerURI + AgentPath() + id + "/" + destination.RegionID.ToString() + "/";
try
{
WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000, false);
}
catch (Exception e)
{
m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR] CloseAgent failed with exception; {0}",e.ToString());
}
try
{
WebUtil.ServiceOSDRequest(uri, null, "DELETE", 10000, false);
}
catch (Exception e)
{
m_log.WarnFormat("[REMOTE SIMULATION CONNECTOR] CloseAgent failed with exception; {0}",e.ToString());
}
});
return true;
}