aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2015-10-01 20:50:12 +0100
committerUbitUmarov2015-10-01 20:50:12 +0100
commit6ae7341e422174f29b92be54e7e6c5a4979d7b33 (patch)
treecdb4a9b42539c98a830662158dddb26b835f2be8
parent make bakes reception handle empty BakedTexture elements. But at same time st... (diff)
downloadopensim-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.cs12
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs9
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 }