From 6fcbf219da1d5095d6f37e8e44031db9ef108c39 Mon Sep 17 00:00:00 2001 From: "Justin Clark-Casey (justincc)" Date: Fri, 9 Aug 2013 17:48:35 +0100 Subject: [PATCH] Comment back out seed dump code enabled in b1c26a56. Also adds a few teleport comments. --- .../EntityTransfer/EntityTransferModule.cs | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 2f7425310a..87f0264f04 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs @@ -1067,6 +1067,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer // May still need to signal neighbours whether child agents may need closing irrespective of whether this // one needed closing. Neighbour regions also contain logic to prevent a close if a subsequent move or // teleport re-established the child connection. + // + // It may be possible to also close child agents after a pause but one needs to be very careful about + // race conditions between different regions on rapid teleporting (e.g. from A1 to a non-neighbour B, back + // to a neighbour A2 then off to a non-neighbour C. Also, closing child agents early may be more compatible + // with complicated scenarios where there a mixture of V1 and V2 teleports, though this is conjecture. It's + // easier to close immediately and greatly reduce the scope of race conditions if possible. sp.CloseChildAgents(newRegionX, newRegionY); // Finally, let's close this previously-known-as-root agent, when the jump is outside the view zone @@ -1865,10 +1871,10 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer List newRegions = NewNeighbours(neighbourHandles, previousRegionNeighbourHandles); List oldRegions = OldNeighbours(neighbourHandles, previousRegionNeighbourHandles); - Dump("Current Neighbors", neighbourHandles); - Dump("Previous Neighbours", previousRegionNeighbourHandles); - Dump("New Neighbours", newRegions); - Dump("Old Neighbours", oldRegions); +// Dump("Current Neighbors", neighbourHandles); +// Dump("Previous Neighbours", previousRegionNeighbourHandles); +// Dump("New Neighbours", newRegions); +// Dump("Old Neighbours", oldRegions); /// Update the scene presence's known regions here on this region sp.DropOldNeighbours(oldRegions); @@ -2180,18 +2186,18 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer return handles; } - private void Dump(string msg, List handles) - { - m_log.InfoFormat("-------------- HANDLE DUMP ({0}) ---------", msg); - foreach (ulong handle in handles) - { - uint x, y; - Utils.LongToUInts(handle, out x, out y); - x = x / Constants.RegionSize; - y = y / Constants.RegionSize; - m_log.InfoFormat("({0}, {1})", x, y); - } - } +// private void Dump(string msg, List handles) +// { +// m_log.InfoFormat("-------------- HANDLE DUMP ({0}) ---------", msg); +// foreach (ulong handle in handles) +// { +// uint x, y; +// Utils.LongToUInts(handle, out x, out y); +// x = x / Constants.RegionSize; +// y = y / Constants.RegionSize; +// m_log.InfoFormat("({0}, {1})", x, y); +// } +// } #endregion