aboutsummaryrefslogtreecommitdiff
path: root/dep/ACE_wrappers/ace/Signal.inl
diff options
context:
space:
mode:
Diffstat (limited to 'dep/ACE_wrappers/ace/Signal.inl')
-rw-r--r--dep/ACE_wrappers/ace/Signal.inl36
1 files changed, 36 insertions, 0 deletions
diff --git a/dep/ACE_wrappers/ace/Signal.inl b/dep/ACE_wrappers/ace/Signal.inl
index e467b92e6e2..858c33c26fb 100644
--- a/dep/ACE_wrappers/ace/Signal.inl
+++ b/dep/ACE_wrappers/ace/Signal.inl
@@ -1,103 +1,122 @@
// -*- C++ -*-
//
// $Id: Signal.inl 80826 2008-03-04 14:51:23Z wotte $
+
#include "ace/OS_NS_signal.h"
#include "ace/config-all.h"
#include "ace/Trace.h"
#include "ace/Object_Manager_Base.h"
#include "ace/OS_NS_Thread.h"
+
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
ACE_INLINE
ACE_Sig_Set::ACE_Sig_Set (sigset_t *ss)
// : sigset_ ()
{
ACE_TRACE ("ACE_Sig_Set::ACE_Sig_Set");
+
if (ss == 0)
ACE_OS::sigfillset (&this->sigset_);
else
// Structure assignment.
this->sigset_ = *ss;
}
+
ACE_INLINE
ACE_Sig_Set::ACE_Sig_Set (int fill)
// : sigset_ ()
{
ACE_TRACE ("ACE_Sig_Set::ACE_Sig_Set");
+
if (fill)
ACE_OS::sigfillset (&this->sigset_);
else
ACE_OS::sigemptyset (&this->sigset_);
}
+
ACE_INLINE
ACE_Sig_Set::ACE_Sig_Set (ACE_Sig_Set *ss)
// : sigset_ ()
{
ACE_TRACE ("ACE_Sig_Set::ACE_Sig_Set");
+
if (ss == 0)
ACE_OS::sigfillset (&this->sigset_);
else
this->sigset_ = ss->sigset_;
}
+
ACE_INLINE int
ACE_Sig_Set::empty_set (void)
{
ACE_TRACE ("ACE_Sig_Set::empty_set");
return ACE_OS::sigemptyset (&this->sigset_);
}
+
ACE_INLINE int
ACE_Sig_Set::fill_set (void)
{
ACE_TRACE ("ACE_Sig_Set::fill_set");
return ACE_OS::sigfillset (&this->sigset_);
}
+
ACE_INLINE int
ACE_Sig_Set::sig_add (int signo)
{
ACE_TRACE ("ACE_Sig_Set::sig_add");
return ACE_OS::sigaddset (&this->sigset_, signo);
}
+
ACE_INLINE int
ACE_Sig_Set::sig_del (int signo)
{
ACE_TRACE ("ACE_Sig_Set::sig_del");
return ACE_OS::sigdelset (&this->sigset_, signo);
}
+
ACE_INLINE int
ACE_Sig_Set::is_member (int signo) const
{
ACE_TRACE ("ACE_Sig_Set::is_member");
return ACE_OS::sigismember (const_cast<sigset_t *> (&this->sigset_), signo);
}
+
ACE_INLINE
ACE_Sig_Set::operator sigset_t *(void)
{
ACE_TRACE ("ACE_Sig_Set::operator sigset_t *");
return &this->sigset_;
}
+
ACE_INLINE sigset_t
ACE_Sig_Set::sigset (void) const
{
ACE_TRACE ("ACE_Sig_Set::sigset");
return this->sigset_;
}
+
ACE_INLINE int
ACE_Sig_Action::flags (void)
{
ACE_TRACE ("ACE_Sig_Action::flags");
return this->sa_.sa_flags;
}
+
ACE_INLINE void
ACE_Sig_Action::flags (int flags)
{
ACE_TRACE ("ACE_Sig_Action::flags");
this->sa_.sa_flags = flags;
}
+
ACE_INLINE sigset_t *
ACE_Sig_Action::mask (void)
{
ACE_TRACE ("ACE_Sig_Action::mask");
return &this->sa_.sa_mask;
}
+
ACE_INLINE void
ACE_Sig_Action::mask (sigset_t *ss)
{
@@ -105,18 +124,21 @@ ACE_Sig_Action::mask (sigset_t *ss)
if (ss != 0)
this->sa_.sa_mask = *ss; // Structure assignment
}
+
ACE_INLINE void
ACE_Sig_Action::mask (ACE_Sig_Set &ss)
{
ACE_TRACE ("ACE_Sig_Action::mask");
this->sa_.sa_mask = ss.sigset (); // Structure assignment
}
+
ACE_INLINE ACE_SignalHandler
ACE_Sig_Action::handler (void)
{
ACE_TRACE ("ACE_Sig_Action::handler");
return ACE_SignalHandler (this->sa_.sa_handler);
}
+
ACE_INLINE void
ACE_Sig_Action::handler (ACE_SignalHandler handler)
{
@@ -127,6 +149,7 @@ ACE_Sig_Action::handler (ACE_SignalHandler handler)
this->sa_.sa_handler = (void (*)()) ACE_SignalHandlerV (handler);
#endif /* !ACE_HAS_TANDEM_SIGNALS */
}
+
#if 0
ACE_INLINE ACE_SignalHandler
ACE_Sig_Action::sigaction (void)
@@ -134,6 +157,7 @@ ACE_Sig_Action::sigaction (void)
ACE_TRACE ("ACE_Sig_Action::sigaction");
return ACE_SignalHandler (this->sa_.sa_sigaction);
}
+
ACE_INLINE void
ACE_Sig_Action::sigaction (ACE_SignalHandler handler)
{
@@ -141,24 +165,28 @@ ACE_Sig_Action::sigaction (ACE_SignalHandler handler)
this->sa_.sa_sigaction = (void (*)()) ACE_SignalHandlerV (handler);
}
#endif /* 0 */
+
ACE_INLINE void
ACE_Sig_Action::set (struct sigaction *sa)
{
ACE_TRACE ("ACE_Sig_Action::set");
this->sa_ = *sa; // Structure assignment.
}
+
ACE_INLINE struct sigaction *
ACE_Sig_Action::get (void)
{
ACE_TRACE ("ACE_Sig_Action::get");
return &this->sa_;
}
+
ACE_INLINE
ACE_Sig_Action::operator struct sigaction * ()
{
ACE_TRACE ("ACE_Sig_Action::operator struct sigaction *");
return &this->sa_;
}
+
ACE_INLINE
ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Action &s)
// : sa_ ()
@@ -166,19 +194,23 @@ ACE_Sig_Action::ACE_Sig_Action (const ACE_Sig_Action &s)
ACE_TRACE ("ACE_Sig_Action::ACE_Sig_Action");
*this = s; // structure copy.
}
+
ACE_INLINE int
ACE_Sig_Action::register_action (int signum, ACE_Sig_Action *oaction)
{
ACE_TRACE ("ACE_Sig_Action::register_action");
struct sigaction *sa = oaction == 0 ? 0 : oaction->get ();
+
return ACE_OS::sigaction (signum, &this->sa_, sa);
}
+
ACE_INLINE int
ACE_Sig_Action::retrieve_action (int signum)
{
ACE_TRACE ("ACE_Sig_Action::retrieve_action");
return ACE_OS::sigaction (signum, 0, &this->sa_);
}
+
ACE_INLINE int
ACE_Sig_Action::restore_action (int signum, ACE_Sig_Action &oaction)
{
@@ -186,7 +218,9 @@ ACE_Sig_Action::restore_action (int signum, ACE_Sig_Action &oaction)
this->sa_ = *oaction.get (); // Structure assignment
return ACE_OS::sigaction (signum, &this->sa_, 0);
}
+
// Block out the signal MASK until the destructor is called.
+
ACE_INLINE
ACE_Sig_Guard::ACE_Sig_Guard (ACE_Sig_Set *mask,
bool condition)
@@ -196,6 +230,7 @@ ACE_Sig_Guard::ACE_Sig_Guard (ACE_Sig_Set *mask,
//ACE_TRACE ("ACE_Sig_Guard::ACE_Sig_Guard");
if (!this->condition_)
return;
+
#if defined (ACE_LACKS_UNIX_SIGNALS)
ACE_UNUSED_ARG (mask);
#else
@@ -226,4 +261,5 @@ ACE_Sig_Guard::ACE_Sig_Guard (ACE_Sig_Set *mask,
# endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */
#endif /* ACE_LACKS_UNIX_SIGNALS */
}
+
ACE_END_VERSIONED_NAMESPACE_DECL