Teleports: bounce off repeated requests of teleporting the same agent. Some scripts do that, and that fails the whole thing.

0.7.3-extended
Diva Canto 2012-03-13 20:15:38 -07:00 committed by Justin Clark-Casey (justincc)
parent 2d3135448c
commit 3ea6c25fb6
1 changed files with 13 additions and 0 deletions

View File

@ -314,6 +314,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
return;
}
if (IsInTransit(sp.UUID)) // Avie is already on the way. Caller shouldn't do this.
return;
m_log.DebugFormat(
"[ENTITY TRANSFER MODULE]: Request Teleport to {0} ({1}) {2}/{3}",
reg.ServerURI, finalDestination.ServerURI, finalDestination.RegionName, position);
@ -1870,6 +1873,16 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
}
}
protected bool IsInTransit(UUID id)
{
lock (m_agentsInTransit)
{
if (m_agentsInTransit.Contains(id))
return true;
}
return false;
}
protected bool ResetFromTransit(UUID id)
{
lock (m_agentsInTransit)