00001
00002
00003
00004
00005
00006
00007 #ifndef INCLUDED_SIGNAL_H
00008 #define INCLUDED_SIGNAL_H
00009
00010 #ifndef INCLUDED_THREAD_H
00011 #include "Thread.hh"
00012 #endif
00013
00014 namespace fatalmind {
00015 extern class Signal {
00016 public:
00017 Signal();
00018
00019 const class Thread& set(int signal,const class Thread&);
00020 private:
00021 static void p_hand_ALRM(int);
00022 static void p_hand_HUP(int);
00023 static void p_hand_INT(int);
00024 static void p_hand_PIPE(int);
00025 static void p_hand_QUIT(int);
00026 static void p_hand_TERM(int);
00027 static void p_hand_USR1(int);
00028 static void p_hand_USR2(int);
00029 class Thread *d_t_ALRM;
00030 class Thread *d_t_HUP;
00031 class Thread *d_t_INT;
00032 class Thread *d_t_PIPE;
00033 class Thread *d_t_QUIT;
00034 class Thread *d_t_TERM;
00035 class Thread *d_t_USR1;
00036 class Thread *d_t_USR2;
00037 } SIG;
00038
00039 void setsighand(int signal, const class Thread&);
00040 void sighand_startthread(const class Thread&);
00041
00042 }
00043 #endif