aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/Scene.cs
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-29 07:25:58 +0000
committerTeravus Ovares2007-11-29 07:25:58 +0000
commit4738fead21f9d02c23702613fd1e1eec1d1a75a1 (patch)
treea0f365668801cfe6ac57306a9231b9df77dec711 /OpenSim/Region/Environment/Scenes/Scene.cs
parentfixed duplicate login in standalone mode (mostly untested in grid mode) (diff)
downloadopensim-SC_OLD-4738fead21f9d02c23702613fd1e1eec1d1a75a1.zip
opensim-SC_OLD-4738fead21f9d02c23702613fd1e1eec1d1a75a1.tar.gz
opensim-SC_OLD-4738fead21f9d02c23702613fd1e1eec1d1a75a1.tar.bz2
opensim-SC_OLD-4738fead21f9d02c23702613fd1e1eec1d1a75a1.tar.xz
* Added a 50 second restart notify timer that gets reset when new regions come up to give servers that host a lot of sims a long time to start listening.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs54
1 files changed, 27 insertions, 27 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index a52e636..9ea92b0 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -279,39 +279,21 @@ namespace OpenSim.Region.Environment.Scenes
279 { 279 {
280 if (Math.Abs(otherRegion.RegionLocX - RegionInfo.RegionLocX) <= 1 || Math.Abs(otherRegion.RegionLocY - RegionInfo.RegionLocY) <= 1) 280 if (Math.Abs(otherRegion.RegionLocX - RegionInfo.RegionLocX) <= 1 || Math.Abs(otherRegion.RegionLocY - RegionInfo.RegionLocY) <= 1)
281 { 281 {
282 try 282 if (!(m_regionRestartNotifyList.Contains(otherRegion)))
283 {
284
285 ForEachScenePresence(delegate(ScenePresence agent)
286 {
287 if (!(agent.IsChildAgent))
288 {
289 //agent.ControllingClient.new
290 //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
291 InformClientOfNeighbor(agent, otherRegion);
292 }
293 }
294
295 );
296 }
297 catch (System.NullReferenceException)
298 { 283 {
299 // This means that we're not booted up completely yet. 284 m_regionRestartNotifyList.Add(otherRegion);
285
286 m_restartWaitTimer.Interval= 50000;
287 m_restartWaitTimer.AutoReset = false;
288 m_restartWaitTimer.Elapsed += new ElapsedEventHandler(restart_Notify_Wait_Elapsed);
289 m_restartWaitTimer.Start();
300 } 290 }
301 } 291 }
302 else 292 else
303 { 293 {
304 MainLog.Instance.Verbose("INTERGRID", "Got notice about Region at X:" + otherRegion.RegionLocX.ToString() + " Y:" + otherRegion.RegionLocY.ToString() + " but it was too far away to send to the client"); 294 MainLog.Instance.Verbose("INTERGRID", "Got notice about Region at X:" + otherRegion.RegionLocX.ToString() + " Y:" + otherRegion.RegionLocY.ToString() + " but it was too far away to send to the client");
305 } 295 }
306 //if (!(m_regionRestartNotifyList.Contains(otherRegion))) 296
307 //{
308 //m_regionRestartNotifyList.Add(otherRegion);
309
310 //m_restartWaitTimer = new Timer(20000);
311 //m_restartWaitTimer.AutoReset = false;
312 // m_restartWaitTimer.Elapsed += new ElapsedEventHandler(restart_Notify_Wait_Elapsed);
313 //m_restartWaitTimer.Start();
314 //}
315 } 297 }
316 return true; 298 return true;
317 } 299 }
@@ -368,7 +350,25 @@ namespace OpenSim.Region.Environment.Scenes
368 m_restartWaitTimer.Stop(); 350 m_restartWaitTimer.Stop();
369 foreach (RegionInfo region in m_regionRestartNotifyList) 351 foreach (RegionInfo region in m_regionRestartNotifyList)
370 { 352 {
371 353 try
354 {
355
356 ForEachScenePresence(delegate(ScenePresence agent)
357 {
358 if (!(agent.IsChildAgent))
359 {
360 //agent.ControllingClient.new
361 //this.CommsManager.InterRegion.InformRegionOfChildAgent(otherRegion.RegionHandle, agent.ControllingClient.RequestClientInfo());
362 InformClientOfNeighbor(agent, region);
363 }
364 }
365
366 );
367 }
368 catch (System.NullReferenceException)
369 {
370 // This means that we're not booted up completely yet.
371 }
372 } 372 }
373 // Reset list to nothing. 373 // Reset list to nothing.
374 m_regionRestartNotifyList = new List<RegionInfo>(); 374 m_regionRestartNotifyList = new List<RegionInfo>();