send DisableSimulator messages on closing childagents. Possible still not on at best timming, or on the right source files
parent
6bc479fecd
commit
6ae7341e42
|
@ -1112,7 +1112,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// This sleep can be increased if necessary. However, whilst it's active,
|
// 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.
|
// an agent cannot teleport back to this region if it has teleported away.
|
||||||
Thread.Sleep(2000);
|
Thread.Sleep(2000);
|
||||||
|
if (m_eqModule != null)
|
||||||
|
m_eqModule.DisableSimulator(sp.RegionHandle,sp.UUID);
|
||||||
|
Thread.Sleep(500);
|
||||||
sp.Scene.CloseAgent(sp.UUID, false);
|
sp.Scene.CloseAgent(sp.UUID, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1256,8 +1258,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
// BEFORE THEY SETTLE IN THE NEW REGION.
|
// BEFORE THEY SETTLE IN THE NEW REGION.
|
||||||
// DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR
|
// 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.
|
// 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
|
// OK, it got this agent. Let's close everything
|
||||||
// If we shouldn't close the agent due to some other region renewing the connection
|
// 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
|
// then this will be handled in IncomingCloseAgent under lock conditions
|
||||||
|
|
|
@ -4076,6 +4076,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
uint x, y;
|
uint x, y;
|
||||||
spRegionSizeInfo regInfo;
|
spRegionSizeInfo regInfo;
|
||||||
|
|
||||||
|
// this should not be here
|
||||||
|
IEventQueue eventQueue = Scene.RequestModuleInterface<IEventQueue>();
|
||||||
|
|
||||||
foreach (ulong handle in knownRegions)
|
foreach (ulong handle in knownRegions)
|
||||||
{
|
{
|
||||||
// Don't close the agent on this region yet
|
// Don't close the agent on this region yet
|
||||||
|
@ -4095,6 +4098,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
regInfo.sizeX, regInfo.sizeY, newRegionSizeX, newRegionSizeY))
|
regInfo.sizeX, regInfo.sizeY, newRegionSizeX, newRegionSizeY))
|
||||||
{
|
{
|
||||||
byebyeRegions.Add(handle);
|
byebyeRegions.Add(handle);
|
||||||
|
// this should not be here
|
||||||
|
if(eventQueue != null)
|
||||||
|
eventQueue.DisableSimulator(handle,UUID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -4103,6 +4109,9 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
(int)Constants.RegionSize, (int)Constants.RegionSize, newRegionSizeX, newRegionSizeY))
|
(int)Constants.RegionSize, (int)Constants.RegionSize, newRegionSizeX, newRegionSizeY))
|
||||||
{
|
{
|
||||||
byebyeRegions.Add(handle);
|
byebyeRegions.Add(handle);
|
||||||
|
// this should not be here
|
||||||
|
if(eventQueue != null)
|
||||||
|
eventQueue.DisableSimulator(handle,UUID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue