diff options
author | Justin Clarke Casey | 2008-06-21 19:56:19 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-06-21 19:56:19 +0000 |
commit | b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6 (patch) | |
tree | bbc2b33cc84ba305709e325e580d64a5e07798ff /OpenSim/Region/Environment/Scenes/InnerScene.cs | |
parent | * minor: start saving current prims xml to an objects/ directory in the archive (diff) | |
download | opensim-SC_OLD-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.zip opensim-SC_OLD-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.tar.gz opensim-SC_OLD-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.tar.bz2 opensim-SC_OLD-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.tar.xz |
* 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
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/InnerScene.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs index e803122..7529d77 100644 --- a/OpenSim/Region/Environment/Scenes/InnerScene.cs +++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs | |||
@@ -293,21 +293,23 @@ namespace OpenSim.Region.Environment.Scenes | |||
293 | // Don't abort the whole update if one entity happens to give us an exception. | 293 | // Don't abort the whole update if one entity happens to give us an exception. |
294 | try | 294 | try |
295 | { | 295 | { |
296 | // A null name signals that this group was deleted before the scheduled update | 296 | // Check that the group was not deleted before the scheduled update |
297 | // FIXME: This is merely a temporary measure to reduce the incidence of failure, when | 297 | // FIXME: This is merely a temporary measure to reduce the incidence of failure, when |
298 | // an object has been deleted from a scene before update was processed. | 298 | // an object has been deleted from a scene before update was processed. |
299 | // A more fundamental overhaul of the update mechanism is required to eliminate all | 299 | // A more fundamental overhaul of the update mechanism is required to eliminate all |
300 | // the race conditions. | 300 | // the race conditions. |
301 | if (entity.Name != null) | 301 | if (!entity.IsDeleted) |
302 | { | 302 | { |
303 | m_updateList[i].Update(); | 303 | m_updateList[i].Update(); |
304 | } | 304 | } |
305 | } | 305 | } |
306 | catch (Exception e) | 306 | catch (Exception e) |
307 | { | 307 | { |
308 | m_log.ErrorFormat("[INNER SCENE]: Failed to update {0}, - {1}", entity.Name, e);//entity.m_uuid | 308 | m_log.ErrorFormat( |
309 | "[INNER SCENE]: Failed to update {0}, {1} - {2}", entity.Name, entity.UUID, e); | ||
309 | } | 310 | } |
310 | } | 311 | } |
312 | |||
311 | m_updateList.Clear(); | 313 | m_updateList.Clear(); |
312 | } | 314 | } |
313 | } | 315 | } |