aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs16
1 files changed, 8 insertions, 8 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index a31e0aa..d4fbdce 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -30,7 +30,6 @@ using System.Collections.Generic;
30using System.Net; 30using System.Net;
31using System.Reflection; 31using System.Reflection;
32using System.Threading; 32using System.Threading;
33
34using OpenSim.Framework; 33using OpenSim.Framework;
35using OpenSim.Framework.Capabilities; 34using OpenSim.Framework.Capabilities;
36using OpenSim.Framework.Client; 35using OpenSim.Framework.Client;
@@ -596,7 +595,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
596 595
597 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) 596 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg))
598 { 597 {
599// Thread.Sleep(5000); 598 // We need to delay here because Imprudence viewers, unlike v1 or v3, have a short (<200ms, <500ms) delay before
599 // they regard the new region as the current region after receiving the AgentMovementComplete
600 // response. If close is sent before then, it will cause the viewer to quit instead.
601 // However, if this delay is longer, then a viewer can teleport back to this region and experience
602 // a failure because the old ScenePresence has not yet been cleaned up.
603 Thread.Sleep(2000);
604
600 sp.Close(); 605 sp.Close();
601 sp.Scene.IncomingCloseAgent(sp.UUID); 606 sp.Scene.IncomingCloseAgent(sp.UUID);
602 } 607 }
@@ -1913,12 +1918,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
1913 Thread.Sleep(100); 1918 Thread.Sleep(100);
1914 } 1919 }
1915 1920
1916 if (count > 0) 1921 return count > 0;
1917 return true;
1918 else
1919 return false;
1920
1921 return true;
1922 } 1922 }
1923 1923
1924 protected void SetInTransit(UUID id) 1924 protected void SetInTransit(UUID id)