* Don't abort (and keep failing) the update if one Entity gives us an exception when we try to update it

* This doesn't remove bug 757, but does largely remove the worst consequences
This commit is contained in:
Justin Clarke Casey
2008-03-12 18:11:08 +00:00
parent c310f2ab24
commit b9ef6ed047
2 changed files with 44 additions and 31 deletions

View File

@@ -217,13 +217,26 @@ namespace OpenSim.Region.Environment.Scenes
}
}
/// <summary>
/// Process all pending updates
/// </summary>
internal void ProcessUpdates()
{
lock (m_updateList)
{
for (int i = 0; i < m_updateList.Count; i++)
{
m_updateList[i].Update();
EntityBase entity = m_updateList[i];
// Don't abort the whole update if one entity happens to give us an exception.
try
{
m_updateList[i].Update();
}
catch (Exception e)
{
m_log.ErrorFormat("[INNERSCENE]: Failed to update {0}, {1} - {2}", entity.Name, entity.m_uuid, e);
}
}
m_updateList.Clear();
}