* Nasty hack to reduce the incidence of spurious exceptions where a user deletes a newly rezzed object before the persistence thread gets to it from its queue.

* This should greatly reduce but not eliminate the problem - elimination probably requires a redesign of the prim persistence processes
This commit is contained in:
Justin Clarke Casey
2008-04-07 17:28:02 +00:00
parent c5a5555d4f
commit 0e7c4046d3
3 changed files with 22 additions and 5 deletions

View File

@@ -236,7 +236,15 @@ namespace OpenSim.Region.Environment.Scenes
// Don't abort the whole update if one entity happens to give us an exception.
try
{
m_updateList[i].Update();
// A null name signals that this group was 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)
{
m_updateList[i].Update();
}
}
catch (Exception e)
{