mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 17:32:42 +08:00
send DisableSimulator messages on closing childagents. Possible still not on at best timming, or on the right source files
This commit is contained in:
@@ -1112,7 +1112,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||
// This sleep can be increased if necessary. However, whilst it's active,
|
||||
// an agent cannot teleport back to this region if it has teleported away.
|
||||
Thread.Sleep(2000);
|
||||
|
||||
if (m_eqModule != null)
|
||||
m_eqModule.DisableSimulator(sp.RegionHandle,sp.UUID);
|
||||
Thread.Sleep(500);
|
||||
sp.Scene.CloseAgent(sp.UUID, false);
|
||||
}
|
||||
}
|
||||
@@ -1256,8 +1258,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||
// BEFORE THEY SETTLE IN THE NEW REGION.
|
||||
// DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR
|
||||
// IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS.
|
||||
Thread.Sleep(15000);
|
||||
|
||||
|
||||
Thread.Sleep(14000);
|
||||
if (m_eqModule != null)
|
||||
m_eqModule.DisableSimulator(sp.RegionHandle,sp.UUID);
|
||||
Thread.Sleep(1000);
|
||||
|
||||
// OK, it got this agent. Let's close everything
|
||||
// If we shouldn't close the agent due to some other region renewing the connection
|
||||
// then this will be handled in IncomingCloseAgent under lock conditions
|
||||
|
||||
@@ -4076,6 +4076,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
uint x, y;
|
||||
spRegionSizeInfo regInfo;
|
||||
|
||||
// this should not be here
|
||||
IEventQueue eventQueue = Scene.RequestModuleInterface<IEventQueue>();
|
||||
|
||||
foreach (ulong handle in knownRegions)
|
||||
{
|
||||
// Don't close the agent on this region yet
|
||||
@@ -4095,6 +4098,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
regInfo.sizeX, regInfo.sizeY, newRegionSizeX, newRegionSizeY))
|
||||
{
|
||||
byebyeRegions.Add(handle);
|
||||
// this should not be here
|
||||
if(eventQueue != null)
|
||||
eventQueue.DisableSimulator(handle,UUID);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -4103,6 +4109,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
(int)Constants.RegionSize, (int)Constants.RegionSize, newRegionSizeX, newRegionSizeY))
|
||||
{
|
||||
byebyeRegions.Add(handle);
|
||||
// this should not be here
|
||||
if(eventQueue != null)
|
||||
eventQueue.DisableSimulator(handle,UUID);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user