private void LinuxHandler() { Log.Notice("Linux", "Initializing Handler for SIGINT, SIGHUP"); var signals = new UnixSignal[] { new UnixSignal(Signum.SIGINT), new UnixSignal(Signum.SIGHUP) }; int which = UnixSignal.WaitAny(signals, -1); Log.Debug("Linux", "Got a {0} signal!", signals[which].Signum); Log.Notice("Linux", "Handler Terminated."); MainClass.Shutdown(); }
private bool Handler(CtrlType sig) { switch (sig) { case CtrlType.CTRL_C_EVENT: case CtrlType.CTRL_BREAK_EVENT: case CtrlType.CTRL_CLOSE_EVENT: Log.Notice("Windows", "Daemon killed."); MainClass.Shutdown(); break; case CtrlType.CTRL_LOGOFF_EVENT: case CtrlType.CTRL_SHUTDOWN_EVENT: Log.Notice("Windows", "User is logging off."); MainClass.Shutdown(); break; default: break; } return(true); }