diff options
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index e1145a1..756853b 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -1230,27 +1230,19 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1230 | sp.MakeChildAgent(destinationHandle); | 1230 | sp.MakeChildAgent(destinationHandle); |
1231 | 1231 | ||
1232 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone | 1232 | // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone |
1233 | // go by HG hook | 1233 | // goes by HG hook |
1234 | if (NeedsClosing(reg, OutSideViewRange)) | 1234 | if (NeedsClosing(reg, OutSideViewRange)) |
1235 | { | 1235 | { |
1236 | if (!sp.Scene.IncomingPreCloseClient(sp)) | 1236 | if (!sp.Scene.IncomingPreCloseClient(sp)) |
1237 | { | ||
1238 | sp.IsInTransit = false; | ||
1237 | return; | 1239 | return; |
1240 | } | ||
1238 | 1241 | ||
1239 | // RED ALERT!!!! | 1242 | // viewers and target region take extra time to process the tp |
1240 | // PLEASE DO NOT DECREASE THIS WAIT TIME UNDER ANY CIRCUMSTANCES. | 1243 | Thread.Sleep(2000); |
1241 | // THE VIEWERS SEEM TO NEED SOME TIME AFTER RECEIVING MoveAgentIntoRegion | ||
1242 | // BEFORE THEY SETTLE IN THE NEW REGION. | ||
1243 | // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR | ||
1244 | // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. | ||
1245 | |||
1246 | Thread.Sleep(15000); | ||
1247 | |||
1248 | // OK, it got this agent. Let's close everything | ||
1249 | // If we shouldn't close the agent due to some other region renewing the connection | ||
1250 | // then this will be handled in IncomingCloseAgent under lock conditions | ||
1251 | m_log.DebugFormat( | 1244 | m_log.DebugFormat( |
1252 | "[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name); | 1245 | "[ENTITY TRANSFER MODULE]: Closing agent {0} in {1} after teleport", sp.Name, Scene.Name); |
1253 | |||
1254 | sp.Scene.CloseAgent(sp.UUID, false); | 1246 | sp.Scene.CloseAgent(sp.UUID, false); |
1255 | } | 1247 | } |
1256 | sp.IsInTransit = false; | 1248 | sp.IsInTransit = false; |