aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Framework/Servers/BaseOpenSimServer.cs11
-rw-r--r--OpenSim/Grid/GridServer/GridServerBase.cs4
-rw-r--r--OpenSim/Grid/MessagingServer/Main.cs4
-rw-r--r--OpenSim/Grid/UserServer/Main.cs4
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs4
5 files changed, 13 insertions, 14 deletions
diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
index 3705f68..f5e5c18 100644
--- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs
+++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
@@ -99,6 +99,11 @@ namespace OpenSim.Framework.Servers
99 /// Must be overriden by child classes for their own server specific startup behaviour. 99 /// Must be overriden by child classes for their own server specific startup behaviour.
100 /// </summary> 100 /// </summary>
101 protected abstract void StartupSpecific(); 101 protected abstract void StartupSpecific();
102
103 /// <summary>
104 /// Should be overriden and referenced by descendents if they need to perform extra shutdown processing
105 /// </summary>
106 protected virtual void ShutdownSpecific() {}
102 107
103 /// <summary> 108 /// <summary>
104 /// Print statistics to the logfile, if they are active 109 /// Print statistics to the logfile, if they are active
@@ -222,11 +227,13 @@ namespace OpenSim.Framework.Servers
222 227
223 /// <summary> 228 /// <summary>
224 /// Should be overriden and referenced by descendents if they need to perform extra shutdown processing 229 /// Should be overriden and referenced by descendents if they need to perform extra shutdown processing
225 /// </summary> 230 /// </summary>
226 public virtual void Shutdown() 231 public virtual void Shutdown()
227 { 232 {
233 ShutdownSpecific();
234
228 m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); 235 m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting...");
229 236
230 Environment.Exit(0); 237 Environment.Exit(0);
231 } 238 }
232 239
diff --git a/OpenSim/Grid/GridServer/GridServerBase.cs b/OpenSim/Grid/GridServer/GridServerBase.cs
index 5067a8c..875b4ac 100644
--- a/OpenSim/Grid/GridServer/GridServerBase.cs
+++ b/OpenSim/Grid/GridServer/GridServerBase.cs
@@ -167,11 +167,9 @@ namespace OpenSim.Grid.GridServer
167 */ 167 */
168 } 168 }
169 169
170 public override void Shutdown() 170 protected override void ShutdownSpecific()
171 { 171 {
172 foreach (IGridPlugin plugin in m_plugins) plugin.Dispose(); 172 foreach (IGridPlugin plugin in m_plugins) plugin.Dispose();
173
174 base.Shutdown();
175 } 173 }
176 } 174 }
177} 175}
diff --git a/OpenSim/Grid/MessagingServer/Main.cs b/OpenSim/Grid/MessagingServer/Main.cs
index 27b9346..537cc48 100644
--- a/OpenSim/Grid/MessagingServer/Main.cs
+++ b/OpenSim/Grid/MessagingServer/Main.cs
@@ -160,11 +160,9 @@ namespace OpenSim.Grid.MessagingServer
160 m_console.Notice("clear-cache - Clears region cache. Should be done when regions change position. The region cache gets stale after a while."); 160 m_console.Notice("clear-cache - Clears region cache. Should be done when regions change position. The region cache gets stale after a while.");
161 } 161 }
162 162
163 public override void Shutdown() 163 protected override void ShutdownSpecific()
164 { 164 {
165 msgsvc.deregisterWithUserServer(); 165 msgsvc.deregisterWithUserServer();
166
167 base.Shutdown();
168 } 166 }
169 } 167 }
170} 168}
diff --git a/OpenSim/Grid/UserServer/Main.cs b/OpenSim/Grid/UserServer/Main.cs
index 23df830..e24b486 100644
--- a/OpenSim/Grid/UserServer/Main.cs
+++ b/OpenSim/Grid/UserServer/Main.cs
@@ -392,11 +392,9 @@ namespace OpenSim.Grid.UserServer
392 392
393 } 393 }
394 394
395 public override void Shutdown() 395 protected override void ShutdownSpecific()
396 { 396 {
397 m_loginService.OnUserLoggedInAtLocation -= NotifyMessageServersUserLoggedInToLocation; 397 m_loginService.OnUserLoggedInAtLocation -= NotifyMessageServersUserLoggedInToLocation;
398
399 base.Shutdown();
400 } 398 }
401 399
402 public void TestResponse(List<InventoryFolderBase> resp) 400 public void TestResponse(List<InventoryFolderBase> resp)
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index b802308..54dd51d 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -734,7 +734,7 @@ namespace OpenSim
734 /// <summary> 734 /// <summary>
735 /// Performs any last-minute sanity checking and shuts down the region server 735 /// Performs any last-minute sanity checking and shuts down the region server
736 /// </summary> 736 /// </summary>
737 public override void Shutdown() 737 protected override void ShutdownSpecific()
738 { 738 {
739 if (proxyUrl.Length > 0) 739 if (proxyUrl.Length > 0)
740 { 740 {
@@ -755,8 +755,6 @@ namespace OpenSim
755 { 755 {
756 m_log.ErrorFormat("[SHUTDOWN]: Ignoring failure during shutdown - {0}", e); 756 m_log.ErrorFormat("[SHUTDOWN]: Ignoring failure during shutdown - {0}", e);
757 } 757 }
758
759 base.Shutdown();
760 } 758 }
761 759
762 /// <summary> 760 /// <summary>