diff options
author | UbitUmarov | 2016-08-12 03:58:04 +0100 |
---|---|---|
committer | UbitUmarov | 2016-08-12 03:58:04 +0100 |
commit | c04792142f332b7d1e892eb739b7e0b70b3bd0e7 (patch) | |
tree | 7a6549d3ca27504ca456ff8e2a07e082c5bbc3b8 /OpenSim/Region/ClientStack/Linden/UDP | |
parent | remove code from httptests branch (diff) | |
download | opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.zip opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.gz opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.bz2 opensim-SC-c04792142f332b7d1e892eb739b7e0b70b3bd0e7.tar.xz |
partially revert commit 42a9afdc43cc.. of 06-12 not allowing more updates to be enqueued on deleted objects. Keep the catch up on deenqueue, so preserving the race condition safe guard. Let Scene sendkillObject work even if object is flaged as deleted. Still not clear how this are related to mantis 7858 or even less to 7990.
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 6beb9b4..24d92f2 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -4007,7 +4007,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4007 | bool doCulling = m_scene.ObjectsCullingByDistance; | 4007 | bool doCulling = m_scene.ObjectsCullingByDistance; |
4008 | float cullingrange = 64.0f; | 4008 | float cullingrange = 64.0f; |
4009 | HashSet<SceneObjectGroup> GroupsNeedFullUpdate = new HashSet<SceneObjectGroup>(); | 4009 | HashSet<SceneObjectGroup> GroupsNeedFullUpdate = new HashSet<SceneObjectGroup>(); |
4010 | List<SceneObjectGroup> kills = new List<SceneObjectGroup>(); | ||
4011 | // Vector3 mycamera = Vector3.Zero; | 4010 | // Vector3 mycamera = Vector3.Zero; |
4012 | Vector3 mypos = Vector3.Zero; | 4011 | Vector3 mypos = Vector3.Zero; |
4013 | ScenePresence mysp = (ScenePresence)SceneAgent; | 4012 | ScenePresence mysp = (ScenePresence)SceneAgent; |
@@ -4048,7 +4047,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4048 | // Instead send another kill object, because the first one may have gotten | 4047 | // Instead send another kill object, because the first one may have gotten |
4049 | // into a race condition | 4048 | // into a race condition |
4050 | if (!m_killRecord.Contains(grp.LocalId)) | 4049 | if (!m_killRecord.Contains(grp.LocalId)) |
4050 | { | ||
4051 | m_killRecord.Add(grp.LocalId); | 4051 | m_killRecord.Add(grp.LocalId); |
4052 | maxUpdatesBytes -= 30; | ||
4053 | } | ||
4052 | continue; | 4054 | continue; |
4053 | } | 4055 | } |
4054 | 4056 | ||
@@ -4336,16 +4338,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
4336 | m_killRecord.Clear(); | 4338 | m_killRecord.Clear(); |
4337 | } | 4339 | } |
4338 | 4340 | ||
4339 | if (kills.Count > 0) | ||
4340 | { | ||
4341 | foreach(SceneObjectGroup grp in kills) | ||
4342 | { | ||
4343 | foreach(SceneObjectPart p in grp.Parts) | ||
4344 | SendEntityUpdate(p,PrimUpdateFlags.Kill); | ||
4345 | } | ||
4346 | kills.Clear(); | ||
4347 | } | ||
4348 | |||
4349 | if(GroupsNeedFullUpdate.Count > 0) | 4341 | if(GroupsNeedFullUpdate.Count > 0) |
4350 | { | 4342 | { |
4351 | foreach(SceneObjectGroup grp in GroupsNeedFullUpdate) | 4343 | foreach(SceneObjectGroup grp in GroupsNeedFullUpdate) |