public static void Main(string[] args) { using (var runner = new Runner()) runner.Wait(); }
public static void Main(string[] args) { using(var runner = new Runner(args)) runner.Wait(); }
private void DoStart(string[] args) { if (m_verbose_messages) m_eventLog.WriteEntry("Starting..."); lock(m_lock) if (m_runner == null) { if (m_verbose_messages) m_eventLog.WriteEntry("Set start time to 30 seconds..."); var sv = new ServiceStatus() { dwCurrentState = ServiceState.SERVICE_START_PENDING, dwWaitHint = (int)TimeSpan.FromSeconds(30).TotalMilliseconds }; SetServiceStatus(this.ServiceHandle, ref sv); if (m_verbose_messages) m_eventLog.WriteEntry("Starting runner..."); m_runner = new Runner( m_cmdargs, () => { if (m_verbose_messages) m_eventLog.WriteEntry("Started!"); var sv2 = new ServiceStatus() { dwCurrentState = ServiceState.SERVICE_RUNNING }; SetServiceStatus(this.ServiceHandle, ref sv2); }, () => { if (m_verbose_messages) m_eventLog.WriteEntry("Stopped!"); var sv2 = new ServiceStatus() { dwCurrentState = ServiceState.SERVICE_STOPPED }; SetServiceStatus(this.ServiceHandle, ref sv2); base.Stop(); }, (msg, important) => { if (important || m_verbose_messages) m_eventLog.WriteEntry(msg); } ); } }