From ed26376ec5377050dd2cf0b17f41009834638875 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Tue, 14 Dec 2010 20:15:26 -0800 Subject: Yet more things out of the main Update thread loop and into threadlets. This time, SendPrimsUpdate. Plus a few more tweaks on triggering actions from the Update loop. #LoginLag. --- OpenSim/Region/Framework/Scenes/ScenePresence.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/Framework/Scenes/ScenePresence.cs') diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 432ce46..9d72bf6 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs @@ -2279,6 +2279,8 @@ namespace OpenSim.Region.Framework.Scenes #region Overridden Methods + private bool sendingPrims = false; + public override void Update() { const float ROTATION_TOLERANCE = 0.01f; @@ -2286,7 +2288,8 @@ namespace OpenSim.Region.Framework.Scenes const float POSITION_TOLERANCE = 0.05f; //const int TIME_MS_TOLERANCE = 3000; - SendPrimUpdates(); + if (!sendingPrims) + Util.FireAndForget(delegate { sendingPrims = true; SendPrimUpdates(); sendingPrims = false; }); if (m_isChildAgent == false) { -- cgit v1.1