#include <Signal.h>
Collaboration diagram for ACE_Sig_Guard:

Public Methods | |
| ACE_Sig_Guard (ACE_Sig_Set *mask=0) | |
| Block out signals in <mask>. Default is to block all signals! More... | |
| ~ACE_Sig_Guard (void) | |
| Restore blocked signals. More... | |
| void | dump (void) const |
| Dump the state of an object. More... | |
Public Attributes | |
| ACE_ALLOC_HOOK_DECLARE | |
| Declare the dynamic allocation hooks. More... | |
Private Attributes | |
| ACE_Sig_Set | omask_ |
| Original signal mask. More... | |
Definition at line 230 of file Signal.h.
|
|
Block out signals in <mask>. Default is to block all signals!
Definition at line 229 of file Signal.i. References ACE_OS_Object_Manager::default_mask, SIG_BLOCK, ACE_OS::sigprocmask, and ACE_OS::thr_sigsetmask.
00230 : omask_ () 00231 { 00232 //ACE_TRACE ("ACE_Sig_Guard::ACE_Sig_Guard"); 00233 00234 #if defined (ACE_LACKS_UNIX_SIGNALS) 00235 ACE_UNUSED_ARG (mask); 00236 #else 00237 // If MASK is 0 then block all signals! 00238 if (mask == 0) 00239 { 00240 # if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK) 00241 ACE_OS::sigprocmask (SIG_BLOCK, 00242 ACE_OS_Object_Manager::default_mask (), 00243 (sigset_t *) this->omask_); 00244 # else 00245 ACE_OS::thr_sigsetmask (SIG_BLOCK, 00246 ACE_OS_Object_Manager::default_mask (), 00247 (sigset_t *) this->omask_); 00248 # endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */ 00249 } 00250 else 00251 # if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK) 00252 ACE_OS::sigprocmask (SIG_BLOCK, 00253 (sigset_t *) *mask, 00254 (sigset_t *) 00255 this->omask_); 00256 # else 00257 ACE_OS::thr_sigsetmask (SIG_BLOCK, 00258 (sigset_t *) *mask, 00259 (sigset_t *) 00260 this->omask_); 00261 # endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */ 00262 #endif /* ACE_LACKS_UNIX_SIGNALS */ 00263 } |
|
|
Restore blocked signals.
Definition at line 268 of file Signal.i. References SIG_SETMASK, ACE_OS::sigprocmask, and ACE_OS::thr_sigsetmask.
00269 {
00270 //ACE_TRACE ("ACE_Sig_Guard::~ACE_Sig_Guard");
00271 #if !defined (ACE_LACKS_UNIX_SIGNALS)
00272 #if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
00273 ACE_OS::sigprocmask (SIG_SETMASK,
00274 (sigset_t *) this->omask_,
00275 0);
00276 #else
00277 ACE_OS::thr_sigsetmask (SIG_SETMASK,
00278 (sigset_t *) this->omask_,
00279 0);
00280 #endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
00281 #endif /* !ACE_LACKS_UNIX_SIGNALS */
00282 }
|
|
|
Dump the state of an object.
Definition at line 73 of file Signal.cpp. References ACE_TRACE.
00074 {
00075 ACE_TRACE ("ACE_Sig_Guard::dump");
00076 }
|
|
|
Declare the dynamic allocation hooks.
|
|
|
Original signal mask.
|
1.2.14 written by Dimitri van Heesch,
© 1997-2002