From 003e9406368c9fcabaebc0711156cafd82303417 Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 28 Dec 2005 22:30:34 +0000 Subject: 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 --- src/inspircd.cpp | 1 + src/inspircd_io.cpp | 10 +++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src') 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) -- cgit v1.2.3