aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Servers/BaseOpenSimServer.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
index 8ede8f5..9794a10 100644
--- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs
+++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
@@ -73,6 +73,8 @@ namespace OpenSim.Framework.Servers
73 /// </summary> 73 /// </summary>
74 protected string m_version; 74 protected string m_version;
75 75
76 protected string m_pidFile = String.Empty;
77
76 protected BaseHttpServer m_httpServer; 78 protected BaseHttpServer m_httpServer;
77 public BaseHttpServer HttpServer 79 public BaseHttpServer HttpServer
78 { 80 {
@@ -278,6 +280,7 @@ namespace OpenSim.Framework.Servers
278 ShutdownSpecific(); 280 ShutdownSpecific();
279 281
280 m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); 282 m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting...");
283 RemovePIDFile();
281 284
282 Environment.Exit(0); 285 Environment.Exit(0);
283 } 286 }
@@ -433,5 +436,38 @@ namespace OpenSim.Framework.Servers
433 436
434 m_version += string.IsNullOrEmpty(buildVersion) ? " " : ("." + buildVersion + " ").Substring(0, 6); 437 m_version += string.IsNullOrEmpty(buildVersion) ? " " : ("." + buildVersion + " ").Substring(0, 6);
435 } 438 }
439
440 protected void CreatePIDFile(string path)
441 {
442 try
443 {
444 string pidstring = System.Diagnostics.Process.GetCurrentProcess().Id.ToString();
445 FileStream fs = File.Create(path);
446 System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
447 Byte[] buf = enc.GetBytes(pidstring);
448 fs.Write(buf, 0, buf.Length);
449 fs.Close();
450 m_pidFile = path;
451 }
452 catch (Exception)
453 {
454 }
455 }
456
457
458 protected void RemovePIDFile()
459 {
460 if (m_pidFile != String.Empty)
461 {
462 try
463 {
464 File.Delete(m_pidFile);
465 m_pidFile = String.Empty;
466 }
467 catch (Exception)
468 {
469 }
470 }
471 }
436 } 472 }
437} 473}