aboutsummaryrefslogtreecommitdiff
path: root/dep/ACE_wrappers/ace/Signal.cpp
diff options
context:
space:
mode:
authormaximius <none@none>2009-10-17 15:51:44 -0700
committermaximius <none@none>2009-10-17 15:51:44 -0700
commite585187b248f48b3c6e9247b49fa07c6565d65e5 (patch)
tree637c5b7ddacf41040bef4ea4f75a97da64c6a9bc /dep/ACE_wrappers/ace/Signal.cpp
parent26b5e033ffde3d161382fc9addbfa99738379641 (diff)
*Backed out changeset 3be01fb200a5
--HG-- branch : trunk
Diffstat (limited to 'dep/ACE_wrappers/ace/Signal.cpp')
-rw-r--r--dep/ACE_wrappers/ace/Signal.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/dep/ACE_wrappers/ace/Signal.cpp b/dep/ACE_wrappers/ace/Signal.cpp
index b1604dab174..8c9647ca55f 100644
--- a/dep/ACE_wrappers/ace/Signal.cpp
+++ b/dep/ACE_wrappers/ace/Signal.cpp
@@ -1,13 +1,19 @@
// $Id: Signal.cpp 80826 2008-03-04 14:51:23Z wotte $
+
#include "ace/Signal.h"
// #include "ace/Log_Msg.h"
+
#if !defined (__ACE_INLINE__)
#include "ace/Signal.inl"
#endif /* __ACE_INLINE__ */
+
ACE_RCSID(ace, Signal, "$Id: Signal.cpp 80826 2008-03-04 14:51:23Z wotte $")
+
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
ACE_ALLOC_HOOK_DEFINE(ACE_Sig_Action)
+
void
ACE_Sig_Action::dump (void) const
{
@@ -15,22 +21,28 @@ ACE_Sig_Action::dump (void) const
ACE_TRACE ("ACE_Sig_Action::dump");
#endif /* ACE_HAS_DUMP */
}
+
ACE_ALLOC_HOOK_DEFINE(ACE_Sig_Set)
+
ACE_Sig_Set::~ACE_Sig_Set (void)
{
ACE_TRACE ("ACE_Sig_Set::~ACE_Sig_Set");
ACE_OS::sigemptyset (&this->sigset_);
}
+
ACE_Sig_Action::~ACE_Sig_Action (void)
{
ACE_TRACE ("ACE_Sig_Action::~ACE_Sig_Action");
}
+
// Restore the signal mask.
+
ACE_Sig_Guard::~ACE_Sig_Guard (void)
{
//ACE_TRACE ("ACE_Sig_Guard::~ACE_Sig_Guard");
if (!this->condition_)
return;
+
#if !defined (ACE_LACKS_UNIX_SIGNALS)
#if defined (ACE_LACKS_PTHREAD_THR_SIGSETMASK)
ACE_OS::sigprocmask (SIG_SETMASK,
@@ -43,6 +55,7 @@ ACE_Sig_Guard::~ACE_Sig_Guard (void)
#endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
#endif /* !ACE_LACKS_UNIX_SIGNALS */
}
+
void
ACE_Sig_Set::dump (void) const
{
@@ -50,7 +63,9 @@ ACE_Sig_Set::dump (void) const
ACE_TRACE ("ACE_Sig_Set::dump");
#endif /* ACE_HAS_DUMP */
}
+
ACE_ALLOC_HOOK_DEFINE(ACE_Sig_Guard)
+
void
ACE_Sig_Guard::dump (void) const
{
@@ -58,10 +73,12 @@ ACE_Sig_Guard::dump (void) const
ACE_TRACE ("ACE_Sig_Guard::dump");
#endif /* ACE_HAS_DUMP */
}
+
ACE_Sig_Action::ACE_Sig_Action (void)
{
// ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
this->sa_.sa_flags = 0;
+
// Since Service_Config::signal_handler_ is static and has an
// ACE_Sig_Action instance, Win32 will get errno set unless this is
// commented out.
@@ -70,36 +87,43 @@ ACE_Sig_Action::ACE_Sig_Action (void)
#endif /* ACE_WIN32 */
this->sa_.sa_handler = 0;
}
+
ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
sigset_t *sig_mask,
int sig_flags)
{
// ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
this->sa_.sa_flags = sig_flags;
+
if (sig_mask == 0)
ACE_OS::sigemptyset (&this->sa_.sa_mask);
else
this->sa_.sa_mask = *sig_mask; // Structure assignment...
+
#if !defined(ACE_HAS_TANDEM_SIGNALS)
this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler);
#else
this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler);
#endif /* !ACE_HAS_TANDEM_SIGNALS */
}
+
ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
const ACE_Sig_Set &sig_mask,
int sig_flags)
{
// ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
this->sa_.sa_flags = sig_flags;
+
// Structure assignment...
this->sa_.sa_mask = sig_mask.sigset ();
+
#if !defined(ACE_HAS_TANDEM_SIGNALS)
this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler);
#else
this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler);
#endif /* !ACE_HAS_TANDEM_SIGNALS */
}
+
ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
int signum,
sigset_t *sig_mask,
@@ -107,10 +131,12 @@ ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
{
// ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
this->sa_.sa_flags = sig_flags;
+
if (sig_mask == 0)
ACE_OS::sigemptyset (&this->sa_.sa_mask);
else
this->sa_.sa_mask = *sig_mask; // Structure assignment...
+
#if !defined(ACE_HAS_TANDEM_SIGNALS)
this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler);
#else
@@ -118,6 +144,7 @@ ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
#endif /* !ACE_HAS_TANDEM_SIGNALS */
ACE_OS::sigaction (signum, &this->sa_, 0);
}
+
ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
int signum,
const ACE_Sig_Set &sig_mask,
@@ -125,8 +152,10 @@ ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
{
// ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
this->sa_.sa_flags = sig_flags;
+
// Structure assignment...
this->sa_.sa_mask = sig_mask.sigset ();
+
#if !defined(ACE_HAS_TANDEM_SIGNALS)
this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler);
#else
@@ -134,6 +163,7 @@ ACE_Sig_Action::ACE_Sig_Action (ACE_SignalHandler sig_handler,
#endif /* !ACE_HAS_TANDEM_SIGNALS */
ACE_OS::sigaction (signum, &this->sa_, 0);
}
+
ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Set &signals,
ACE_SignalHandler sig_handler,
const ACE_Sig_Set &sig_mask,
@@ -141,13 +171,16 @@ ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Set &signals,
{
// ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
this->sa_.sa_flags = sig_flags;
+
// Structure assignment...
this->sa_.sa_mask = sig_mask.sigset ();
+
#if !defined(ACE_HAS_TANDEM_SIGNALS)
this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler);
#else
this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler);
#endif /* !ACE_HAS_TANDEM_SIGNALS */
+
#if (ACE_NSIG > 0)
for (int s = 1; s < ACE_NSIG; s++)
if ((signals.is_member (s)) == 1)
@@ -156,6 +189,7 @@ ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Set &signals,
ACE_UNUSED_ARG (signals);
#endif /* ACE_NSIG <= 0 */
}
+
ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Set &signals,
ACE_SignalHandler sig_handler,
sigset_t *sig_mask,
@@ -163,15 +197,18 @@ ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Set &signals,
{
// ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
this->sa_.sa_flags = sig_flags;
+
if (sig_mask == 0)
ACE_OS::sigemptyset (&this->sa_.sa_mask);
else
this->sa_.sa_mask = *sig_mask; // Structure assignment...
+
#if !defined(ACE_HAS_TANDEM_SIGNALS)
this->sa_.sa_handler = ACE_SignalHandlerV (sig_handler);
#else
this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (sig_handler);
#endif /* !ACE_HAS_TANDEM_SIGNALS */
+
#if (ACE_NSIG > 0)
for (int s = 1; s < ACE_NSIG; s++)
if ((signals.is_member (s)) == 1)
@@ -180,5 +217,6 @@ ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Set &signals,
ACE_UNUSED_ARG (signals);
#endif /* ACE_NSIG <= 0 */
}
+
ACE_END_VERSIONED_NAMESPACE_DECL