* Remove a bug I created in r5171 where taking an object would terminate the client session

* change code to use an explicit state variable instead of using SOG.Name = null to signal deletion
This commit is contained in:
Justin Clarke Casey
2008-06-21 19:56:19 +00:00
parent ff56cb730b
commit b290ce405f
6 changed files with 40 additions and 14 deletions

View File

@@ -293,21 +293,23 @@ namespace OpenSim.Region.Environment.Scenes
// Don't abort the whole update if one entity happens to give us an exception.
try
{
// A null name signals that this group was deleted before the scheduled update
// Check that the group was not deleted before the scheduled update
// FIXME: This is merely a temporary measure to reduce the incidence of failure, when
// an object has been deleted from a scene before update was processed.
// A more fundamental overhaul of the update mechanism is required to eliminate all
// the race conditions.
if (entity.Name != null)
if (!entity.IsDeleted)
{
m_updateList[i].Update();
}
}
catch (Exception e)
{
m_log.ErrorFormat("[INNER SCENE]: Failed to update {0}, - {1}", entity.Name, e);//entity.m_uuid
m_log.ErrorFormat(
"[INNER SCENE]: Failed to update {0}, {1} - {2}", entity.Name, entity.UUID, e);
}
}
m_updateList.Clear();
}
}