summaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-09-05 18:44:43 -0400
committerAdam <Adam@anope.org>2011-09-10 02:06:31 -0400
commit63cb8ca24c0d4003343340bb8413b7f84de1a6a3 (patch)
treed71f0cead730065dd8509e284d66b6767e7ebd25 /src/init.cpp
parentdc5d1fa21c20000b77bf713585333c79121a8df0 (diff)
Moved signal/thread/mode checking to use signal pipes
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 4cff3fc91..beb34aafb 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -182,7 +182,7 @@ class SignalReload : public Signal
public:
SignalReload(int sig) : Signal(sig) { }
- void OnSignal()
+ void OnNotify()
{
Log() << "Received SIGHUP: Saving databases & rehashing configuration";
@@ -208,7 +208,7 @@ class SignalExit : public Signal
public:
SignalExit(int sig) : Signal(sig) { }
- void OnSignal()
+ void OnNotify()
{
#ifndef _WIN32
Log() << "Received " << strsignal(this->signal) << " signal (" << this->signal << "), exiting.";
@@ -228,7 +228,7 @@ class SignalNothing : public Signal
public:
SignalNothing(int sig) : Signal(sig) { }
- void OnSignal() { }
+ void OnNotify() { }
};
void Init(int ac, char **av)
@@ -397,9 +397,10 @@ void Init(int ac, char **av)
/* Announce ourselves to the logfile. */
Log() << "Anope " << Anope::Version() << " starting up" << (debug || readonly ? " (options:" : "") << (debug ? " debug" : "") << (readonly ? " readonly" : "") << (debug || readonly ? ")" : "");
- static SignalReload sig_hup(SIGHUP);
- static SignalExit sig_term(SIGTERM), sig_int(SIGINT);
- static SignalNothing sig_pipe(SIGPIPE);
+ new SignalReload(SIGHUP);
+ new SignalExit(SIGTERM);
+ new SignalExit(SIGINT);
+ new SignalNothing(SIGPIPE);
/* Initialize multi-language support */
Log(LOG_DEBUG) << "Loading Languages...";