summaryrefslogtreecommitdiff
path: root/include/services.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/services.h')
-rw-r--r--include/services.h31
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: