|
libassa 3.5.1
|
#include <SigAction.h>
Public Member Functions | |
| SigAction () | |
| Default constructor creates SigAction object with null-action. | |
| SigAction (C_SIG_HANDLER handler_, SigSet *sig_mask_=0, int flags_=0) | |
| Construct a SigAction object with "C" signal handler function. | |
| SigAction (C_SIG_HANDLER handler_, int signum_, SigSet *sig_mask_=0, int flags_=0) | |
| Construct a SigAction with "C" signal handler function and change program's disposition for signum_ immediately. | |
| int | register_action (int signum_, SigAction *oaction_=0) |
| Register this object as current disposition for signal signum_, and store old disposition in oaction_, if not NULL. | |
| int | restore_action (int signum_, SigAction &oaction_) |
| Change object's disposition to oaction_, and install it as current disposition for the signal signum_. | |
| int | retrieve_action (int signum_) |
| Retrieve current disposition for the signal signum_ into this object. | |
| void | action (SIGACTION *sa_) |
| Set sigaction structure to sa_. | |
| SIGACTION * | action () |
| Retrieve current sigaction. | |
| void | flags (int new_flags_) |
| Set signal flags to new_flags_. | |
| int | flags () |
| Retrieve current flags. | |
| void | mask (SigSet &mask_set_) |
| Set new signal mask mask_set_. | |
| SigSet | mask () |
| Retrieve current signal mask. | |
| void | handler (C_SIG_HANDLER sha_) |
| Set new signal handler to function pointer sha_. | |
| C_SIG_HANDLER | handler () |
| Retrieve current signal handler function. | |
| operator SIGACTION * () | |
| Conversion operator that converts SigAction to a pointer to the internal struct sigaction data member for direct use with C-library functions. | |
Private Attributes | |
| SIGACTION | m_sa |
| sigaction structure itself | |
Definition at line 94 of file SigAction.h.
|
inline |
Default constructor creates SigAction object with null-action.
Definition at line 220 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
Referenced by register_action(), and restore_action().
|
inline |
Construct a SigAction object with "C" signal handler function.
This constructor doesn't install any actions - it is merely a shell for actiono to be installed for any signal(s). Thus, you can reuse the same object for number of differen signals.
| handler_ | "C" signal handler function to call. |
| sig_mask_ | Set of signals to block while handler_ is active. |
| flags_ | Controls behavior of signal handler (OS-specific: see Available Options: section of documentation). |
Definition at line 231 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Construct a SigAction with "C" signal handler function and change program's disposition for signum_ immediately.
First argument is the "C" function. It cannot be a non-static C++ class member function. This function pretty much simulates C-like approach the the signal handling. For C++ member function approach, see SigHandler & Co.
| handler_ | "C" signal handler function to call. |
| signum_ | Signal which disposition is to change. |
| sig_mask_ | Set of signals to block while handler_ is active. |
| flags_ | Controls behavior of signal handler (OS-specific: see Available Options: section of documentation). |
Definition at line 256 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Retrieve current sigaction.
Definition at line 287 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Set sigaction structure to sa_.
| sa_ | New value for internal struct sigaction. |
Definition at line 279 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
Referenced by register_action(), and restore_action().
|
inline |
Retrieve current flags.
Definition at line 305 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Set signal flags to new_flags_.
| new_flags_ | New flags for this action. |
Definition at line 296 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Retrieve current signal handler function.
Definition at line 342 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Set new signal handler to function pointer sha_.
Definition at line 333 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
Referenced by ASSA::SigHandler::install(), ASSA::SigHandlers::install(), and ASSA::SigHandlers::remove().
|
inline |
Retrieve current signal mask.
Definition at line 323 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Set new signal mask mask_set_.
Definition at line 314 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Conversion operator that converts SigAction to a pointer to the internal struct sigaction data member for direct use with C-library functions.
Definition at line 351 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
|
inline |
Register this object as current disposition for signal signum_, and store old disposition in oaction_, if not NULL.
This function installs C_SIG_HANDLER this object represents, thus simulating C-like approach to signal handling.
| signum_ | Signal which disposition to install. |
| oaction_ | Placeholder for the old disposition. |
Definition at line 359 of file SigAction.h.
References action(), m_sa, ASSA::SIGACT, SigAction(), and trace_with_mask.
Referenced by ASSA::SigHandler::dispatch(), ASSA::GenServer::init(), ASSA::SigHandler::install(), ASSA::SigHandlers::install(), ASSA::SigHandler::remove(), and ASSA::SigHandlers::remove().
|
inline |
Change object's disposition to oaction_, and install it as current disposition for the signal signum_.
| signum_ | Signal which disposition to restore. |
| oaction_ | Disposition to restore. |
Definition at line 370 of file SigAction.h.
References action(), m_sa, ASSA::SIGACT, SigAction(), and trace_with_mask.
|
inline |
Retrieve current disposition for the signal signum_ into this object.
| signum_ | Signal number |
Definition at line 380 of file SigAction.h.
References m_sa, ASSA::SIGACT, and trace_with_mask.
Referenced by ASSA::SigHandler::install(), and ASSA::SigHandlers::install().
|
private |
sigaction structure itself
Definition at line 213 of file SigAction.h.
Referenced by action(), action(), flags(), flags(), handler(), handler(), mask(), mask(), operator SIGACTION *(), register_action(), restore_action(), retrieve_action(), SigAction(), SigAction(), and SigAction().