84 DL((
SIGHAND,
"Detected 3rd party \"C\" handler!\n"));
93 DL((
SIGHAND,
"Adding 3rd party \"C\" handler\n"));
97 "c_func_handler for signum %d\n",
signum_));
106 DL((
SIGHAND,
"Adding EventHandler to the list\n"));
114 EL((
ASSAERR,
"failed to add new_hand_ to handlers list\n"));
116 if (
handlist->seen_cfunc_handler () &&
131 DL((
SIGHAND,
"Installing 'sighandlers_dispatcher'\n"));
152 EL((
ASSAERR,
"register_action() error\n"));
154 if (
handlist->seen_cfunc_handler ()) {
184 DL((
SIGHAND,
"Erasing the entire set\n"));
222 DL((
SIGHAND,
"Handlers List is empty\n"));
224 if (
handlist.seen_cfunc_handler ()) {
226 DL((
SIGHAND,
"Reinstalling \"C\" handler\n"));
#define EL(X)
A macro for writing error message to the Logger.
#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)
SigHandlers is a signal handlers manager.
A wrapper class to provide AutoPtr with reference semantics.
int in_range(int signum_)
Check that signum_ is in valid range.
static SigHandlersList * m_instance[NSIG]
Static map of signal numbers to SigHandlerLists.
static SigHandlersList * instance(int signum_)
Retrieve a pointer to the list of event handlers listening to signum_ signal delivery.
set< key_type, CompSHL >::iterator iterator
static void sighandlers_dispatcher(int signum_)
A wrapper around static SigHandlers::dispatch().
virtual int remove(int signum_, EventHandler *eh_, SigAction *new_disp_=0, SigAction *old_disp_=0)
Remove EventHandler from the list of registered handler for signum_.
virtual int install(int signum_, EventHandler *new_hand_, SigAction *new_disp_=0, EventHandler **old_hand_=0, SigAction *old_disp_=0)
Register EventHandler with dispatching system.
static void dispatch(int signum_)
The heart of SigHandlers class - this callback function is really registered with OS to catch all of ...
@ SIGHAND
Class SigHandler(s) messages
@ ASSAERR
ASSA and system errors