diff options
author | Justin Clarke Casey | 2008-04-07 17:28:02 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-04-07 17:28:02 +0000 |
commit | 0e7c4046d3fde862c56b7b5255b48928fa2652e6 (patch) | |
tree | 5f41ba1ddaf33ebf9d7aea50cc94aa13c0db7d3b /OpenSim/Region/Environment/Scenes/InnerScene.cs | |
parent | * Minor: log message correction (diff) | |
download | opensim-SC_OLD-0e7c4046d3fde862c56b7b5255b48928fa2652e6.zip opensim-SC_OLD-0e7c4046d3fde862c56b7b5255b48928fa2652e6.tar.gz opensim-SC_OLD-0e7c4046d3fde862c56b7b5255b48928fa2652e6.tar.bz2 opensim-SC_OLD-0e7c4046d3fde862c56b7b5255b48928fa2652e6.tar.xz |
* 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
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index 9a720d9..ef98599 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -236,7 +236,15 @@ namespace OpenSim.Region.Environment.Scenes | |||
236 | // Don't abort the whole update if one entity happens to give us an exception. | 236 | // Don't abort the whole update if one entity happens to give us an exception. |
237 | try | 237 | try |
238 | { | 238 | { |
239 | m_updateList[i].Update(); | 239 | // A null name signals that this group was deleted before the scheduled update |
240 | // FIXME: This is merely a temporary measure to reduce the incidence of failure, when | ||
241 | // an object has been deleted from a scene before update was processed. | ||
242 | // A more fundamental overhaul of the update mechanism is required to eliminate all | ||
243 | // the race conditions. | ||
244 | if (entity.Name != null) | ||
245 | { | ||
246 | m_updateList[i].Update(); | ||
247 | } | ||
240 | } | 248 | } |
241 | catch (Exception e) | 249 | catch (Exception e) |
242 | { | 250 | { |