diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-28 22:30:34 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-28 22:30:34 +0000 |
commit | 003e9406368c9fcabaebc0711156cafd82303417 (patch) | |
tree | 91716a38b8575d016e9e870be196aba9e68ca790 | |
parent | 25d1c9c176be31458ffc264d5b6e7ccdd8660717 (diff) |
Signal handlers were not being set when -nofork was enabled
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2688 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/inspircd.cpp | 1 | ||||
-rw-r--r-- | src/inspircd_io.cpp | 10 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index b68f4934e..6d21e3677 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -199,6 +199,7 @@ InspIRCd::InspIRCd(int argc, char** argv) memset(&Config->implement_lists,0,sizeof(Config->implement_lists)); printf("\n"); + SetSignals(); if (!Config->nofork) { if (DaemonSeed() == ERROR) diff --git a/src/inspircd_io.cpp b/src/inspircd_io.cpp index b0170d0a3..dd5b14692 100644 --- a/src/inspircd_io.cpp +++ b/src/inspircd_io.cpp @@ -404,15 +404,19 @@ void WritePID(std::string filename) } } - -int DaemonSeed (void) +void SetSignals() { - int childpid; signal (SIGALRM, SIG_IGN); signal (SIGHUP, Rehash); signal (SIGPIPE, SIG_IGN); signal (SIGTERM, Exit); signal (SIGSEGV, Error); +} + + +int DaemonSeed (void) +{ + int childpid; if ((childpid = fork ()) < 0) return (ERROR); else if (childpid > 0) |