diff options
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: |
