checking return code may make failed teleports fail more gracefully.

ThreadPoolClientBranch
Brian McBee 2008-01-19 20:34:54 +00:00
parent 6353df5569
commit 17c25796b8
2 changed files with 24 additions and 17 deletions

View File

@ -92,6 +92,11 @@ namespace OpenSim.Framework.UserManagement
string firstname = (string) requestData["first"];
string lastname = (string) requestData["last"];
if( requestData.Contains("version"))
{
string clientversion = (string)requestData["version"];
MainLog.Instance.Verbose("LOGIN","Client Version " + clientversion + " for " + firstname + " " + lastname);
}
userProfile = GetTheUser(firstname, lastname);

View File

@ -421,9 +421,10 @@ namespace OpenSim.Region.Environment.Scenes
agent.startpos = position;
agent.child = true;
avatar.Close();
m_commsProvider.InterRegion.InformRegionOfChildAgent(regionHandle, agent);
if (m_commsProvider.InterRegion.InformRegionOfChildAgent(regionHandle, agent) &&
m_commsProvider.InterRegion.ExpectAvatarCrossing(regionHandle, avatar.ControllingClient.AgentId,
position, false);
position, false)) ;
{
AgentCircuitData circuitdata = avatar.ControllingClient.RequestClientInfo();
string capsPath = Util.GetCapsURL(avatar.ControllingClient.AgentId);
avatar.ControllingClient.SendRegionTeleport(regionHandle, 13, reg.ExternalEndPoint, 4, (1 << 4),
@ -433,17 +434,18 @@ namespace OpenSim.Region.Environment.Scenes
{
KillObject(avatar.LocalId);
}
uint newRegionX = (uint) (regionHandle >> 40);
uint newRegionY = (((uint) (regionHandle)) >> 8);
uint oldRegionX = (uint) (m_regionInfo.RegionHandle >> 40);
uint oldRegionY = (((uint) (m_regionInfo.RegionHandle)) >> 8);
if (Util.fast_distance2d((int) (newRegionX - oldRegionX), (int) (newRegionY - oldRegionY)) > 3)
uint newRegionX = (uint)(regionHandle >> 40);
uint newRegionY = (((uint)(regionHandle)) >> 8);
uint oldRegionX = (uint)(m_regionInfo.RegionHandle >> 40);
uint oldRegionY = (((uint)(m_regionInfo.RegionHandle)) >> 8);
if (Util.fast_distance2d((int)(newRegionX - oldRegionX), (int)(newRegionY - oldRegionY)) > 3)
{
CloseChildAgentConnections(avatar);
}
}
}
}
}
/// <summary>
///