Add an option to exit an instance rather than restarting a region within it

mysql-performance
Melanie 2009-12-14 00:31:15 +00:00
parent 0639e90f56
commit c426549f53
2 changed files with 21 additions and 2 deletions

View File

@ -902,7 +902,7 @@ namespace OpenSim.Region.Framework.Scenes
m_log.Info("[REGION]: Restarting Region in " + (seconds / 60) + " minutes"); m_log.Info("[REGION]: Restarting Region in " + (seconds / 60) + " minutes");
m_restartTimer.Start(); m_restartTimer.Start();
m_dialogModule.SendNotificationToUsersInRegion( m_dialogModule.SendNotificationToUsersInRegion(
UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in 2 Minutes"); UUID.Random(), String.Empty, RegionInfo.RegionName + String.Format(": Restarting in {0} Minutes", (int)(seconds / 60.0)));
} }
} }
@ -932,6 +932,16 @@ namespace OpenSim.Region.Framework.Scenes
// This causes the region to restart immediatley. // This causes the region to restart immediatley.
public void RestartNow() public void RestartNow()
{ {
IConfig startupConfig = m_config.Configs["Startup"];
if (startupConfig != null)
{
if (startupConfig.GetBoolean("InworldRestartShutsDown", false))
{
MainConsole.Instance.RunCommand("shutdown");
return;
}
}
if (PhysicsScene != null) if (PhysicsScene != null)
{ {
PhysicsScene.Dispose(); PhysicsScene.Dispose();
@ -939,6 +949,7 @@ namespace OpenSim.Region.Framework.Scenes
m_log.Error("[REGION]: Closing"); m_log.Error("[REGION]: Closing");
Close(); Close();
m_log.Error("[REGION]: Firing Region Restart Message"); m_log.Error("[REGION]: Firing Region Restart Message");
base.Restart(0); base.Restart(0);
} }

View File

@ -107,7 +107,15 @@
; Combine all contiguous regions into one large region ; Combine all contiguous regions into one large region
; Order your regions from South to North, West to East in your regions.ini and then set this to true ; Order your regions from South to North, West to East in your regions.ini and then set this to true
; Warning! Don't use this with regions that have existing content!, This will likely break them ; Warning! Don't use this with regions that have existing content!, This will likely break them
CombineContiguousRegions=false CombineContiguousRegions = false
; If you have only one region in an instance, or to avoid the many bugs
; that you can trigger in modules by restarting a region, set this to
; true to make the entire instance exit instead of restarting the region.
; This is meant to be used on systems where some external system like
; Monit will restart any instance that exits, thereby making the shutdown
; into a restart.
;InworldRestartShutsDown = false
; ## ; ##
; ## STORAGE ; ## STORAGE