From 76ca0963847d75d2d7233ad965c74e50a09d6dce Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 1 Apr 2009 12:13:42 +0000 Subject: Add a PIDFile in [Startup], which the PID will be written to --- OpenSim/Framework/Servers/BaseOpenSimServer.cs | 36 ++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'OpenSim/Framework') 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 /// protected string m_version; + protected string m_pidFile = String.Empty; + protected BaseHttpServer m_httpServer; public BaseHttpServer HttpServer { @@ -278,6 +280,7 @@ namespace OpenSim.Framework.Servers ShutdownSpecific(); m_log.Info("[SHUTDOWN]: Shutdown processing on main thread complete. Exiting..."); + RemovePIDFile(); Environment.Exit(0); } @@ -433,5 +436,38 @@ namespace OpenSim.Framework.Servers m_version += string.IsNullOrEmpty(buildVersion) ? " " : ("." + buildVersion + " ").Substring(0, 6); } + + protected void CreatePIDFile(string path) + { + try + { + string pidstring = System.Diagnostics.Process.GetCurrentProcess().Id.ToString(); + FileStream fs = File.Create(path); + System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding(); + Byte[] buf = enc.GetBytes(pidstring); + fs.Write(buf, 0, buf.Length); + fs.Close(); + m_pidFile = path; + } + catch (Exception) + { + } + } + + + protected void RemovePIDFile() + { + if (m_pidFile != String.Empty) + { + try + { + File.Delete(m_pidFile); + m_pidFile = String.Empty; + } + catch (Exception) + { + } + } + } } } -- cgit v1.1