31 if ( signum_ >= 1 && signum_ < NSIG) {
35 DL((
SIGHAND,
"signum_ %d is out of range [1;%d]\n", NSIG));
119 if (new_disp_ == 0) {
135 int my_errno = errno;
A collection of assert function wrappers.
#define DL(X)
A macro for writing debug message to the Logger.
#define trace_with_mask(s, m)
trace_with_mask() is used to trace function call chain in C++ program.
void(* C_SIG_HANDLER)(int)
Class SigHandler is a UNIX signal handlers manager/dispatcher class.
virtual int handle_signal(int signum_)
Signal handler callback.
void handler(C_SIG_HANDLER sha_)
Set new signal handler to function pointer sha_.
int retrieve_action(int signum_)
Retrieve current disposition for the signal signum_ into this object.
int register_action(int signum_, SigAction *oaction_=0)
Register this object as current disposition for signal signum_, and store old disposition in oaction_...
static EventHandler * m_signal_handlers[NSIG]
Static array that stores one user-defined event handler pointer for every signal.
virtual int remove(int signum_, EventHandler *eh_=0, SigAction *new_disp_=0, SigAction *old_disp_=0)
Remove EventHandler associated with signum_.
static void dispatch(int signum_)
Here is the heart of SigHandler class.
int in_range(int signum_)
Check that signum_ is in valid range.
EventHandler * handler(int signum_, EventHandler *new_)
Set new event handler for signal signum_ and return an existing one.
virtual int install(int signum_, EventHandler *new_hand_, SigAction *new_disp_=0, EventHandler **old_hand_=0, SigAction *old_disp_=0)
Add new signal handler and new disposition for the signal.
@ SIGHAND
Class SigHandler(s) messages