* Added a try/catch handler around childdataupdates because the enumeration is prone to modification when logging on. These can be safely ignored because the data gets old fast and new ones get generated somewhat quickly.
parent
f0d6f89c2c
commit
58106926bb
|
@ -2678,6 +2678,7 @@ namespace OpenSim.Region.ClientStack
|
||||||
break;
|
break;
|
||||||
case PacketType.ModifyLand:
|
case PacketType.ModifyLand:
|
||||||
ModifyLandPacket modify = (ModifyLandPacket)Pack;
|
ModifyLandPacket modify = (ModifyLandPacket)Pack;
|
||||||
|
//MainLog.Instance.Verbose("LAND", "LAND:" + modify.ToString());
|
||||||
if (modify.ParcelData.Length > 0)
|
if (modify.ParcelData.Length > 0)
|
||||||
{
|
{
|
||||||
if (OnModifyTerrain != null)
|
if (OnModifyTerrain != null)
|
||||||
|
|
|
@ -344,20 +344,27 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
private void SendChildAgentDataUpdateAsync(ChildAgentDataUpdate cAgentData, ScenePresence presence)
|
private void SendChildAgentDataUpdateAsync(ChildAgentDataUpdate cAgentData, ScenePresence presence)
|
||||||
{
|
{
|
||||||
//MainLog.Instance.Notice("INTERGRID", "Informing neighbors about my agent.");
|
//MainLog.Instance.Notice("INTERGRID", "Informing neighbors about my agent.");
|
||||||
|
try
|
||||||
foreach (ulong regionHandle in presence.KnownChildRegions)
|
|
||||||
{
|
{
|
||||||
bool regionAccepted = m_commsProvider.InterRegion.ChildAgentUpdate(regionHandle, cAgentData);
|
foreach (ulong regionHandle in presence.KnownChildRegions)
|
||||||
|
{
|
||||||
|
bool regionAccepted = m_commsProvider.InterRegion.ChildAgentUpdate(regionHandle, cAgentData);
|
||||||
|
|
||||||
if (regionAccepted)
|
if (regionAccepted)
|
||||||
{
|
{
|
||||||
//MainLog.Instance.Notice("INTERGRID", "Completed sending a neighbor an update about my agent");
|
//MainLog.Instance.Notice("INTERGRID", "Completed sending a neighbor an update about my agent");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//MainLog.Instance.Notice("INTERGRID", "Failed sending a neighbor an update about my agent");
|
//MainLog.Instance.Notice("INTERGRID", "Failed sending a neighbor an update about my agent");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (System.InvalidOperationException)
|
||||||
|
{
|
||||||
|
// We're ignoring a collection was modified error because this data gets old and outdated fast.
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SendChildAgentDataUpdateCompleted(IAsyncResult iar)
|
private void SendChildAgentDataUpdateCompleted(IAsyncResult iar)
|
||||||
|
|
Loading…
Reference in New Issue