aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP
diff options
context:
space:
mode:
authorUbitUmarov2016-08-12 03:58:04 +0100
committerUbitUmarov2016-08-12 03:58:04 +0100
commitc04792142f332b7d1e892eb739b7e0b70b3bd0e7 (patch)
tree7a6549d3ca27504ca456ff8e2a07e082c5bbc3b8 /OpenSim/Region/ClientStack/Linden/UDP
parent remove code from httptests branch (diff)
downloadopensim-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.cs14
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)