diff options
author | Adam <Adam@anope.org> | 2011-09-05 18:44:43 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-09-10 02:06:31 -0400 |
commit | 63cb8ca24c0d4003343340bb8413b7f84de1a6a3 (patch) | |
tree | d71f0cead730065dd8509e284d66b6767e7ebd25 /include/services.h | |
parent | dc5d1fa21c20000b77bf713585333c79121a8df0 (diff) |
Moved signal/thread/mode checking to use signal pipes
Diffstat (limited to 'include/services.h')
-rw-r--r-- | include/services.h | 31 |
1 files changed, 15 insertions, 16 deletions
diff --git a/include/services.h b/include/services.h index 9ed5e2ba3..520182e98 100644 --- a/include/services.h +++ b/include/services.h @@ -241,22 +241,6 @@ class DatabaseException : public CoreException virtual ~DatabaseException() throw() { } }; -class Signal -{ - static std::vector<Signal *> SignalHandlers; - static void SignalHandler(int signal); - - struct sigaction action, old; - sig_atomic_t called; - public: - static void Process(); - - int signal; - - Signal(int s); - ~Signal(); - virtual void OnSignal() = 0; -}; /** Debug cast to be used instead of dynamic_cast, this uses dynamic_cast * for debug builds and static_cast on releass builds to speed up the program @@ -406,6 +390,21 @@ template class Service<Base>; /*************************************************************************/ +class Signal : public Pipe +{ + static std::vector<Signal *> SignalHandlers; + static void SignalHandler(int signal); + + struct sigaction action, old; + public: + int signal; + + Signal(int s); + ~Signal(); + + virtual void OnNotify() = 0; +}; + class ConvertException : public CoreException { public: |