mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 20:05:33 +08:00
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.
This commit is contained in:
@@ -937,6 +937,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
|||||||
EnableChildAgents(sp);
|
EnableChildAgents(sp);
|
||||||
|
|
||||||
// Finally, kill the agent we just created at the destination.
|
// Finally, kill the agent we just created at the destination.
|
||||||
|
// XXX: Possibly this should be done asynchronously.
|
||||||
Scene.SimulationService.CloseAgent(finalDestination, sp.UUID);
|
Scene.SimulationService.CloseAgent(finalDestination, sp.UUID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -317,7 +317,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation
|
|||||||
// "[LOCAL SIMULATION CONNECTOR]: Found region {0} {1} to send AgentUpdate",
|
// "[LOCAL SIMULATION CONNECTOR]: Found region {0} {1} to send AgentUpdate",
|
||||||
// s.RegionInfo.RegionName, destination.RegionHandle);
|
// s.RegionInfo.RegionName, destination.RegionHandle);
|
||||||
|
|
||||||
Util.FireAndForget(delegate { m_scenes[destination.RegionID].IncomingCloseAgent(id, false); });
|
m_scenes[destination.RegionID].IncomingCloseAgent(id, false);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ namespace OpenSim.Server.Handlers.Simulation
|
|||||||
if (action.Equals("release"))
|
if (action.Equals("release"))
|
||||||
ReleaseAgent(regionID, id);
|
ReleaseAgent(regionID, id);
|
||||||
else
|
else
|
||||||
m_SimulationService.CloseAgent(destination, id);
|
Util.FireAndForget(delegate { m_SimulationService.CloseAgent(destination, id); });
|
||||||
|
|
||||||
responsedata["int_response_code"] = HttpStatusCode.OK;
|
responsedata["int_response_code"] = HttpStatusCode.OK;
|
||||||
responsedata["str_response_string"] = "OpenSim agent " + id.ToString();
|
responsedata["str_response_string"] = "OpenSim agent " + id.ToString();
|
||||||
|
|||||||
Reference in New Issue
Block a user