Today's wild shot at the infinity problem. Wait on the child agent left behind.

TeleportWork
Diva Canto 2013-07-24 12:54:13 -07:00
parent 4e5c7bdeb3
commit 46d017b197
1 changed files with 3 additions and 1 deletions

View File

@ -1047,7 +1047,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
// Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone
if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg))
{
Thread.Sleep(5000);
sp.Scene.IncomingCloseAgent(sp.UUID, false); sp.Scene.IncomingCloseAgent(sp.UUID, false);
}
else else
// now we have a child agent in this region. // now we have a child agent in this region.
sp.Reset(); sp.Reset();
@ -1064,7 +1067,6 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
/// <param name='finalDestination'></param> /// <param name='finalDestination'></param>
protected virtual void CleanupFailedInterRegionTeleport(ScenePresence sp, string auth_token, GridRegion finalDestination) protected virtual void CleanupFailedInterRegionTeleport(ScenePresence sp, string auth_token, GridRegion finalDestination)
{ {
m_log.DebugFormat("[ZZZ]: FAIL!");
m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp); m_entityTransferStateMachine.UpdateInTransit(sp.UUID, AgentTransferState.CleaningUp);
if (sp.IsChildAgent) // We had set it to child before attempted TP (V1) if (sp.IsChildAgent) // We had set it to child before attempted TP (V1)