diff options
author | UbitUmarov | 2015-10-01 20:50:12 +0100 |
---|---|---|
committer | UbitUmarov | 2015-10-01 20:50:12 +0100 |
commit | 6ae7341e422174f29b92be54e7e6c5a4979d7b33 (patch) | |
tree | cdb4a9b42539c98a830662158dddb26b835f2be8 | |
parent | make bakes reception handle empty BakedTexture elements. But at same time st... (diff) | |
download | opensim-SC-6ae7341e422174f29b92be54e7e6c5a4979d7b33.zip opensim-SC-6ae7341e422174f29b92be54e7e6c5a4979d7b33.tar.gz opensim-SC-6ae7341e422174f29b92be54e7e6c5a4979d7b33.tar.bz2 opensim-SC-6ae7341e422174f29b92be54e7e6c5a4979d7b33.tar.xz |
send DisableSimulator messages on closing childagents. Possible still not on at best timming, or on the right source files
-rw-r--r-- | OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | 12 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 9 |
2 files changed, 18 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs index 902ae22..4126b3b 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs | |||
@@ -1112,7 +1112,9 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1112 | // This sleep can be increased if necessary. However, whilst it's active, | 1112 | // This sleep can be increased if necessary. However, whilst it's active, |
1113 | // an agent cannot teleport back to this region if it has teleported away. | 1113 | // an agent cannot teleport back to this region if it has teleported away. |
1114 | Thread.Sleep(2000); | 1114 | Thread.Sleep(2000); |
1115 | 1115 | if (m_eqModule != null) | |
1116 | m_eqModule.DisableSimulator(sp.RegionHandle,sp.UUID); | ||
1117 | Thread.Sleep(500); | ||
1116 | sp.Scene.CloseAgent(sp.UUID, false); | 1118 | sp.Scene.CloseAgent(sp.UUID, false); |
1117 | } | 1119 | } |
1118 | } | 1120 | } |
@@ -1256,8 +1258,12 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
1256 | // BEFORE THEY SETTLE IN THE NEW REGION. | 1258 | // BEFORE THEY SETTLE IN THE NEW REGION. |
1257 | // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR | 1259 | // DECREASING THE WAIT TIME HERE WILL EITHER RESULT IN A VIEWER CRASH OR |
1258 | // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. | 1260 | // IN THE AVIE BEING PLACED IN INFINITY FOR A COUPLE OF SECONDS. |
1259 | Thread.Sleep(15000); | 1261 | |
1260 | 1262 | Thread.Sleep(14000); | |
1263 | if (m_eqModule != null) | ||
1264 | m_eqModule.DisableSimulator(sp.RegionHandle,sp.UUID); | ||
1265 | Thread.Sleep(1000); | ||
1266 | |||
1261 | // OK, it got this agent. Let's close everything | 1267 | // OK, it got this agent. Let's close everything |
1262 | // If we shouldn't close the agent due to some other region renewing the connection | 1268 | // If we shouldn't close the agent due to some other region renewing the connection |
1263 | // then this will be handled in IncomingCloseAgent under lock conditions | 1269 | // then this will be handled in IncomingCloseAgent under lock conditions |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 9996f6e..c3deeaf 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -4076,6 +4076,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4076 | uint x, y; | 4076 | uint x, y; |
4077 | spRegionSizeInfo regInfo; | 4077 | spRegionSizeInfo regInfo; |
4078 | 4078 | ||
4079 | // this should not be here | ||
4080 | IEventQueue eventQueue = Scene.RequestModuleInterface<IEventQueue>(); | ||
4081 | |||
4079 | foreach (ulong handle in knownRegions) | 4082 | foreach (ulong handle in knownRegions) |
4080 | { | 4083 | { |
4081 | // Don't close the agent on this region yet | 4084 | // Don't close the agent on this region yet |
@@ -4095,6 +4098,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4095 | regInfo.sizeX, regInfo.sizeY, newRegionSizeX, newRegionSizeY)) | 4098 | regInfo.sizeX, regInfo.sizeY, newRegionSizeX, newRegionSizeY)) |
4096 | { | 4099 | { |
4097 | byebyeRegions.Add(handle); | 4100 | byebyeRegions.Add(handle); |
4101 | // this should not be here | ||
4102 | if(eventQueue != null) | ||
4103 | eventQueue.DisableSimulator(handle,UUID); | ||
4098 | } | 4104 | } |
4099 | } | 4105 | } |
4100 | else | 4106 | else |
@@ -4103,6 +4109,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
4103 | (int)Constants.RegionSize, (int)Constants.RegionSize, newRegionSizeX, newRegionSizeY)) | 4109 | (int)Constants.RegionSize, (int)Constants.RegionSize, newRegionSizeX, newRegionSizeY)) |
4104 | { | 4110 | { |
4105 | byebyeRegions.Add(handle); | 4111 | byebyeRegions.Add(handle); |
4112 | // this should not be here | ||
4113 | if(eventQueue != null) | ||
4114 | eventQueue.DisableSimulator(handle,UUID); | ||
4106 | } | 4115 | } |
4107 | } | 4116 | } |
4108 | } | 4117 | } |