usrp_local_sighandler.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef INCLUDED_USRP_LOCAL_SIGHANDLER_H
00024 #define INCLUDED_USRP_LOCAL_SIGHANDLER_H
00025
00026 #include <signal.h>
00027 #include <string>
00028
00032 class usrp_signal
00033 {
00034 int d_signum;
00035 public:
00036 usrp_signal (int signum) : d_signum (signum) {}
00037 int signal () const { return d_signum; }
00038 std::string name () const;
00039 };
00040
00041
00048 class usrp_local_sighandler {
00049 int d_signum;
00050 #ifdef HAVE_SIGACTION
00051 struct sigaction d_old_action;
00052 #endif
00053 public:
00054 usrp_local_sighandler (int signum, void (*new_handler)(int));
00055 ~usrp_local_sighandler ();
00056
00057
00058 static void throw_signal (int signum) throw (usrp_signal);
00059 };
00060
00061 #endif