From 58106926bbdad0e89b941237f380d9904a642e8b Mon Sep 17 00:00:00 2001 From: Teravus Ovares Date: Sat, 26 Jan 2008 17:00:35 +0000 Subject: * 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. --- .../Scenes/SceneCommunicationService.cs | 27 ++++++++++++++-------- 1 file changed, 17 insertions(+), 10 deletions(-) (limited to 'OpenSim/Region/Environment') diff --git a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs index 805b44c..2bb36a3 100644 --- a/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Environment/Scenes/SceneCommunicationService.cs @@ -344,20 +344,27 @@ namespace OpenSim.Region.Environment.Scenes private void SendChildAgentDataUpdateAsync(ChildAgentDataUpdate cAgentData, ScenePresence presence) { //MainLog.Instance.Notice("INTERGRID", "Informing neighbors about my agent."); - - foreach (ulong regionHandle in presence.KnownChildRegions) + try { - bool regionAccepted = m_commsProvider.InterRegion.ChildAgentUpdate(regionHandle, cAgentData); - - if (regionAccepted) + foreach (ulong regionHandle in presence.KnownChildRegions) { - //MainLog.Instance.Notice("INTERGRID", "Completed sending a neighbor an update about my agent"); - } - else - { - //MainLog.Instance.Notice("INTERGRID", "Failed sending a neighbor an update about my agent"); + bool regionAccepted = m_commsProvider.InterRegion.ChildAgentUpdate(regionHandle, cAgentData); + + if (regionAccepted) + { + //MainLog.Instance.Notice("INTERGRID", "Completed sending a neighbor an update about my agent"); + } + else + { + //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) -- cgit v1.1