diff options
Diffstat (limited to 'OpenSim/Framework/Servers')
-rw-r--r-- | OpenSim/Framework/Servers/BaseOpenSimServer.cs | 46 | ||||
-rw-r--r-- | OpenSim/Framework/Servers/ServerBase.cs | 32 |
2 files changed, 45 insertions, 33 deletions
diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index 035b3ad..4ab6908 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs | |||
@@ -86,26 +86,23 @@ namespace OpenSim.Framework.Servers | |||
86 | /// </summary> | 86 | /// </summary> |
87 | protected virtual void StartupSpecific() | 87 | protected virtual void StartupSpecific() |
88 | { | 88 | { |
89 | if (m_console == null) | 89 | StatsManager.SimExtraStats = new SimExtraStatsCollector(); |
90 | return; | ||
91 | |||
92 | RegisterCommonCommands(); | 90 | RegisterCommonCommands(); |
93 | 91 | RegisterCommonComponents(Config); | |
94 | m_console.Commands.AddCommand("General", false, "quit", | 92 | } |
95 | "quit", | 93 | |
96 | "Quit the application", HandleQuit); | 94 | protected override void ShutdownSpecific() |
95 | { | ||
96 | m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); | ||
97 | |||
98 | RemovePIDFile(); | ||
99 | |||
100 | base.ShutdownSpecific(); | ||
97 | 101 | ||
98 | m_console.Commands.AddCommand("General", false, "shutdown", | 102 | Environment.Exit(0); |
99 | "shutdown", | ||
100 | "Quit the application", HandleQuit); | ||
101 | } | 103 | } |
102 | 104 | ||
103 | /// <summary> | 105 | /// <summary> |
104 | /// Should be overriden and referenced by descendents if they need to perform extra shutdown processing | ||
105 | /// </summary> | ||
106 | public virtual void ShutdownSpecific() {} | ||
107 | |||
108 | /// <summary> | ||
109 | /// Provides a list of help topics that are available. Overriding classes should append their topics to the | 106 | /// Provides a list of help topics that are available. Overriding classes should append their topics to the |
110 | /// information returned when the base method is called. | 107 | /// information returned when the base method is called. |
111 | /// </summary> | 108 | /// </summary> |
@@ -143,25 +140,8 @@ namespace OpenSim.Framework.Servers | |||
143 | timeTaken.Minutes, timeTaken.Seconds); | 140 | timeTaken.Minutes, timeTaken.Seconds); |
144 | } | 141 | } |
145 | 142 | ||
146 | /// <summary> | 143 | public string osSecret |
147 | /// Should be overriden and referenced by descendents if they need to perform extra shutdown processing | ||
148 | /// </summary> | ||
149 | public virtual void Shutdown() | ||
150 | { | 144 | { |
151 | ShutdownSpecific(); | ||
152 | |||
153 | m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); | ||
154 | RemovePIDFile(); | ||
155 | |||
156 | Environment.Exit(0); | ||
157 | } | ||
158 | |||
159 | private void HandleQuit(string module, string[] args) | ||
160 | { | ||
161 | Shutdown(); | ||
162 | } | ||
163 | |||
164 | public string osSecret { | ||
165 | // Secret uuid for the simulator | 145 | // Secret uuid for the simulator |
166 | get { return m_osSecret; } | 146 | get { return m_osSecret; } |
167 | } | 147 | } |
diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index 2c4a687..5358444 100644 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs | |||
@@ -62,6 +62,8 @@ namespace OpenSim.Framework.Servers | |||
62 | 62 | ||
63 | protected string m_pidFile = String.Empty; | 63 | protected string m_pidFile = String.Empty; |
64 | 64 | ||
65 | protected ServerStatsCollector m_serverStatsCollector; | ||
66 | |||
65 | /// <summary> | 67 | /// <summary> |
66 | /// Server version information. Usually VersionInfo + information about git commit, operating system, etc. | 68 | /// Server version information. Usually VersionInfo + information about git commit, operating system, etc. |
67 | /// </summary> | 69 | /// </summary> |
@@ -259,6 +261,25 @@ namespace OpenSim.Framework.Servers | |||
259 | "force gc", | 261 | "force gc", |
260 | "Manually invoke runtime garbage collection. For debugging purposes", | 262 | "Manually invoke runtime garbage collection. For debugging purposes", |
261 | HandleForceGc); | 263 | HandleForceGc); |
264 | |||
265 | m_console.Commands.AddCommand( | ||
266 | "General", false, "quit", | ||
267 | "quit", | ||
268 | "Quit the application", (mod, args) => Shutdown()); | ||
269 | |||
270 | m_console.Commands.AddCommand( | ||
271 | "General", false, "shutdown", | ||
272 | "shutdown", | ||
273 | "Quit the application", (mod, args) => Shutdown()); | ||
274 | |||
275 | StatsManager.RegisterConsoleCommands(m_console); | ||
276 | } | ||
277 | |||
278 | public void RegisterCommonComponents(IConfigSource configSource) | ||
279 | { | ||
280 | m_serverStatsCollector = new ServerStatsCollector(); | ||
281 | m_serverStatsCollector.Initialise(configSource); | ||
282 | m_serverStatsCollector.Start(); | ||
262 | } | 283 | } |
263 | 284 | ||
264 | private void HandleForceGc(string module, string[] args) | 285 | private void HandleForceGc(string module, string[] args) |
@@ -698,5 +719,16 @@ namespace OpenSim.Framework.Servers | |||
698 | if (m_console != null) | 719 | if (m_console != null) |
699 | m_console.OutputFormat(format, components); | 720 | m_console.OutputFormat(format, components); |
700 | } | 721 | } |
722 | |||
723 | public virtual void Shutdown() | ||
724 | { | ||
725 | m_serverStatsCollector.Close(); | ||
726 | ShutdownSpecific(); | ||
727 | } | ||
728 | |||
729 | /// <summary> | ||
730 | /// Should be overriden and referenced by descendents if they need to perform extra shutdown processing | ||
731 | /// </summary> | ||
732 | protected virtual void ShutdownSpecific() {} | ||
701 | } | 733 | } |
702 | } \ No newline at end of file | 734 | } \ No newline at end of file |