sigaction
struct.
More...
#include <Signal.h>
Public Member Functions | |
ACE_Sig_Action (void) | |
Default constructor. Initializes everything to 0. | |
ACE_Sig_Action (ACE_SignalHandler handler, sigset_t *sigmask=0, int flags=0) | |
ACE_Sig_Action (ACE_SignalHandler handler, const ACE_Sig_Set &sigmask, int flags=0) | |
ACE_Sig_Action (ACE_SignalHandler handler, int signum, sigset_t *sigmask=0, int flags=0) | |
ACE_Sig_Action (ACE_SignalHandler handler, int signum, const ACE_Sig_Set &sigmask, int flags=0) | |
ACE_Sig_Action (const ACE_Sig_Set &signalss, ACE_SignalHandler handler, const ACE_Sig_Set &sigmask, int flags=0) | |
ACE_Sig_Action (const ACE_Sig_Set &signalss, ACE_SignalHandler handler, sigset_t *sigmask=0, int flags=0) | |
ACE_Sig_Action (const ACE_Sig_Action &s) | |
Copy constructor. | |
~ACE_Sig_Action (void) | |
Default dtor. | |
int | register_action (int signum, ACE_Sig_Action *oaction=0) |
int | restore_action (int signum, ACE_Sig_Action &oaction) |
int | retrieve_action (int signum) |
Retrieve the current disposition into this . | |
void | set (struct sigaction *) |
Set current signal action. | |
sigaction * | get (void) |
Get current signal action. | |
operator struct sigaction * () | |
void | flags (int) |
Set current signal flags. | |
int | flags (void) |
Get current signal flags. | |
void | mask (sigset_t *) |
Set current signal mask. | |
void | mask (ACE_Sig_Set &) |
sigset_t * | mask (void) |
Get current signal mask. | |
void | handler (ACE_SignalHandler) |
Set current signal handler (pointer to function). | |
ACE_SignalHandler | handler (void) |
Get current signal handler (pointer to function). | |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Attributes | |
sigaction | sa_ |
Controls signal behavior. |
sigaction
struct.
Definition at line 100 of file Signal.h.
|
Default constructor. Initializes everything to 0.
Definition at line 77 of file Signal.cpp. References ACE_OS::sigemptyset().
00078 { 00079 // ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action"); 00080 this->sa_.sa_flags = 0; 00081 00082 // Since Service_Config::signal_handler_ is static and has an 00083 // ACE_Sig_Action instance, Win32 will get errno set unless this is 00084 // commented out. 00085 #if !defined (ACE_WIN32) 00086 ACE_OS::sigemptyset (&this->sa_.sa_mask); 00087 #endif /* ACE_WIN32 */ 00088 this->sa_.sa_handler = 0; 00089 } |
|
Assigns the various fields of a Definition at line 91 of file Signal.cpp. References ACE_SignalHandler, ACE_SignalHandlerV, and ACE_OS::sigemptyset().
00094 { 00095 // ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action"); 00096 this->sa_.sa_flags = sig_flags; 00097 00098 if (sig_mask == 0) 00099 ACE_OS::sigemptyset (&this->sa_.sa_mask); 00100 else 00101 this->sa_.sa_mask = *sig_mask; // Structure assignment... 00102 00103 #if !defined(ACE_HAS_TANDEM_SIGNALS) 00104 this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler); 00105 #else 00106 this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler); 00107 #endif /* !ACE_HAS_TANDEM_SIGNALS */ 00108 } |
|
Assigns the various fields of a Definition at line 110 of file Signal.cpp. References ACE_SignalHandler, ACE_SignalHandlerV, and ACE_Sig_Set::sigset().
00113 { 00114 // ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action"); 00115 this->sa_.sa_flags = sig_flags; 00116 00117 // Structure assignment... 00118 this->sa_.sa_mask = sig_mask.sigset (); 00119 00120 #if !defined(ACE_HAS_TANDEM_SIGNALS) 00121 this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler); 00122 #else 00123 this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler); 00124 #endif /* !ACE_HAS_TANDEM_SIGNALS */ 00125 } |
|
Assigns the various fields of a Definition at line 127 of file Signal.cpp. References ACE_SignalHandler, ACE_SignalHandlerV, ACE_OS::sigaction(), and ACE_OS::sigemptyset().
00131 { 00132 // ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action"); 00133 this->sa_.sa_flags = sig_flags; 00134 00135 if (sig_mask == 0) 00136 ACE_OS::sigemptyset (&this->sa_.sa_mask); 00137 else 00138 this->sa_.sa_mask = *sig_mask; // Structure assignment... 00139 00140 #if !defined(ACE_HAS_TANDEM_SIGNALS) 00141 this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler); 00142 #else 00143 this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler); 00144 #endif /* !ACE_HAS_TANDEM_SIGNALS */ 00145 ACE_OS::sigaction (signum, &this->sa_, 0); 00146 } |
|
Assigns the various fields of a Definition at line 148 of file Signal.cpp. References ACE_SignalHandler, ACE_SignalHandlerV, ACE_OS::sigaction(), and ACE_Sig_Set::sigset().
00152 { 00153 // ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action"); 00154 this->sa_.sa_flags = sig_flags; 00155 00156 // Structure assignment... 00157 this->sa_.sa_mask = sig_mask.sigset (); 00158 00159 #if !defined(ACE_HAS_TANDEM_SIGNALS) 00160 this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler); 00161 #else 00162 this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler); 00163 #endif /* !ACE_HAS_TANDEM_SIGNALS */ 00164 ACE_OS::sigaction (signum, &this->sa_, 0); 00165 } |
|
Assigns the various fields of a Definition at line 167 of file Signal.cpp. References ACE_NSIG, ACE_SignalHandler, ACE_SignalHandlerV, ACE_Sig_Set::is_member(), ACE_OS::sigaction(), and ACE_Sig_Set::sigset().
00171 { 00172 // ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action"); 00173 this->sa_.sa_flags = sig_flags; 00174 00175 // Structure assignment... 00176 this->sa_.sa_mask = sig_mask.sigset (); 00177 00178 #if !defined(ACE_HAS_TANDEM_SIGNALS) 00179 this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler); 00180 #else 00181 this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler); 00182 #endif /* !ACE_HAS_TANDEM_SIGNALS */ 00183 00184 #if (ACE_NSIG > 0) 00185 for (int s = 1; s < ACE_NSIG; s++) 00186 if ((signals.is_member (s)) == 1) 00187 ACE_OS::sigaction (s, &this->sa_, 0); 00188 #else /* ACE_NSIG <= 0 */ 00189 ACE_UNUSED_ARG (signals); 00190 #endif /* ACE_NSIG <= 0 */ 00191 } |
|
Assigns the various fields of a Definition at line 193 of file Signal.cpp. References ACE_NSIG, ACE_SignalHandler, ACE_SignalHandlerV, ACE_Sig_Set::is_member(), ACE_OS::sigaction(), and ACE_OS::sigemptyset().
00197 { 00198 // ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action"); 00199 this->sa_.sa_flags = sig_flags; 00200 00201 if (sig_mask == 0) 00202 ACE_OS::sigemptyset (&this->sa_.sa_mask); 00203 else 00204 this->sa_.sa_mask = *sig_mask; // Structure assignment... 00205 00206 #if !defined(ACE_HAS_TANDEM_SIGNALS) 00207 this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler); 00208 #else 00209 this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler); 00210 #endif /* !ACE_HAS_TANDEM_SIGNALS */ 00211 00212 #if (ACE_NSIG > 0) 00213 for (int s = 1; s < ACE_NSIG; s++) 00214 if ((signals.is_member (s)) == 1) 00215 ACE_OS::sigaction (s, &this->sa_, 0); 00216 #else /* ACE_NSIG <= 0 */ 00217 ACE_UNUSED_ARG (signals); 00218 #endif /* ACE_NSIG <= 0 */ 00219 } |
|
Copy constructor.
Definition at line 191 of file Signal.inl. References ACE_TRACE.
|
|
Default dtor.
Definition at line 33 of file Signal.cpp. References ACE_TRACE.
00034 { 00035 ACE_TRACE ("ACE_Sig_Action::~ACE_Sig_Action"); 00036 } |
|
Dump the state of an object.
Definition at line 18 of file Signal.cpp. References ACE_TRACE.
00019 { 00020 #if defined (ACE_HAS_DUMP) 00021 ACE_TRACE ("ACE_Sig_Action::dump"); 00022 #endif /* ACE_HAS_DUMP */ 00023 } |
|
Get current signal flags.
Definition at line 100 of file Signal.inl. References ACE_TRACE.
|
|
Set current signal flags.
Definition at line 107 of file Signal.inl. References ACE_TRACE. Referenced by ACE_Sig_Handlers::register_handler(), and ACE_Sig_Handler::register_handler_i().
|
|
Get current signal action.
Definition at line 177 of file Signal.inl. References ACE_TRACE. Referenced by register_action(), and restore_action().
|
|
Get current signal handler (pointer to function).
Definition at line 136 of file Signal.inl. References ACE_SignalHandler, and ACE_TRACE.
00137 { 00138 ACE_TRACE ("ACE_Sig_Action::handler"); 00139 return ACE_SignalHandler (this->sa_.sa_handler); 00140 } |
|
Set current signal handler (pointer to function).
Definition at line 143 of file Signal.inl. References ACE_SignalHandler, ACE_SignalHandlerV, and ACE_TRACE. Referenced by ACE_Sig_Handlers::register_handler(), and ACE_Sig_Handler::register_handler_i().
00144 { 00145 ACE_TRACE ("ACE_Sig_Action::handler"); 00146 #if !defined(ACE_HAS_TANDEM_SIGNALS) 00147 this->sa_.sa_handler = ACE_SignalHandlerV (handler); 00148 #else 00149 this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (handler); 00150 #endif /* !ACE_HAS_TANDEM_SIGNALS */ 00151 } |
|
Get current signal mask.
Definition at line 114 of file Signal.inl. References ACE_TRACE.
|
|
Definition at line 129 of file Signal.inl. References ACE_TRACE, and ACE_Sig_Set::sigset().
|
|
Set current signal mask.
Definition at line 121 of file Signal.inl. References ACE_TRACE.
|
|
Definition at line 184 of file Signal.inl. References ACE_TRACE.
|
|
Register Definition at line 199 of file Signal.inl. References ACE_TRACE, get(), and ACE_OS::sigaction(). Referenced by ACE_Sig_Handler::dispatch(), ACE_Sig_Adapter::handle_signal(), ACE_Sig_Handlers::register_handler(), ACE_Sig_Handler::register_handler_i(), ACE_Sig_Handlers::remove_handler(), ACE_Sig_Handler::remove_handler(), ACE_Process_Manager::wait(), and ACE_Process::wait().
00200 { 00201 ACE_TRACE ("ACE_Sig_Action::register_action"); 00202 struct sigaction *sa = oaction == 0 ? 0 : oaction->get (); 00203 00204 return ACE_OS::sigaction (signum, &this->sa_, sa); 00205 } |
|
Assign the value of oaction to Definition at line 215 of file Signal.inl. References ACE_TRACE, get(), and ACE_OS::sigaction().
00216 { 00217 ACE_TRACE ("ACE_Sig_Action::restore_action"); 00218 this->sa_ = *oaction.get (); // Structure assignment 00219 return ACE_OS::sigaction (signum, &this->sa_, 0); 00220 } |
|
Retrieve the current disposition into
Definition at line 208 of file Signal.inl. References ACE_TRACE, and ACE_OS::sigaction(). Referenced by ACE_Sig_Handlers::register_handler().
00209 { 00210 ACE_TRACE ("ACE_Sig_Action::retrieve_action"); 00211 return ACE_OS::sigaction (signum, 0, &this->sa_); 00212 } |
|
Set current signal action.
Definition at line 170 of file Signal.inl. References ACE_TRACE.
|
|
Declare the dynamic allocation hooks.
|
|
Controls signal behavior.
|