aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-07-26 01:40:56 +0100
committerJustin Clark-Casey (justincc)2013-07-26 01:40:56 +0100
commit4cd03d8c314864eeeb9f11b34fc7e687ac96b858 (patch)
tree310219dcd453c4a92e46720be2f5a7c585b83a9e /OpenSim/Region/CoreModules/Framework
parentReset DoNotClose scene presence teleport flag before pausing. Rename DoNotCl... (diff)
downloadopensim-SC_OLD-4cd03d8c314864eeeb9f11b34fc7e687ac96b858.zip
opensim-SC_OLD-4cd03d8c314864eeeb9f11b34fc7e687ac96b858.tar.gz
opensim-SC_OLD-4cd03d8c314864eeeb9f11b34fc7e687ac96b858.tar.bz2
opensim-SC_OLD-4cd03d8c314864eeeb9f11b34fc7e687ac96b858.tar.xz
Return Simulator/0.1 (V1) entity transfer behaviour to waiting only 2 seconds before closing root agent after 15.
This is because a returning viewer by teleport before 15 seconds are up will be disrupted by the close. The 2 second delay is within the scope where a normal viewer would not allow a teleport back anyway. Simulator/0.2 (V2) protocol will continue with the longer delay since this is actually the behaviour viewers get from the ll grid and an early close causes other issues (avatar being sent to infinite locations temporarily, etc.)
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r--OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
index 8ce6bb4..3f1686c 100644
--- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -916,13 +916,13 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
916 916
917 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg)) 917 if (NeedsClosing(sp.DrawDistance, oldRegionX, newRegionX, oldRegionY, newRegionY, reg))
918 { 918 {
919 // RED ALERT!!!! 919 // We need to delay here because Imprudence viewers, unlike v1 or v3, have a short (<200ms, <500ms) delay before
920 // PLEASE DO NOT DECREASE THIS WAIT TIME UNDER ANY CIRCUMSTANCES. 920 // they regard the new region as the current region after receiving the AgentMovementComplete
921 // THE VIEWERS SEEM TO NEED SOME TIME AFTER RECEIVING MoveAgentIntoRegion 921 // response. If close is sent before then, it will cause the viewer to quit instead.
922 // BEFORE THEY SETTLE IN THE NEW REGION. 922 //
923 // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR 923 // This sleep can be increased if necessary. However, whilst it's active,
924 // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. 924 // an agent cannot teleport back to this region if it has teleported away.
925 Thread.Sleep(15000); 925 Thread.Sleep(2000);
926 926
927 sp.Scene.IncomingCloseAgent(sp.UUID, false); 927 sp.Scene.IncomingCloseAgent(sp.UUID, false);
928 } 928 }