mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-22 05:06:24 +00:00
chore(Deps/Acelite): Update to 6.5.10 (#3450)
This commit is contained in:
82
deps/acelite/ace/Sig_Handler.cpp
vendored
82
deps/acelite/ace/Sig_Handler.cpp
vendored
@@ -10,8 +10,6 @@
|
||||
#include "ace/Sig_Handler.inl"
|
||||
#endif /* __ACE_INLINE__ */
|
||||
|
||||
|
||||
|
||||
#if defined (ACE_HAS_SIG_C_FUNC)
|
||||
|
||||
extern "C" void
|
||||
@@ -38,16 +36,14 @@ ace_sig_handlers_dispatch (int signum, siginfo_t *info, ucontext_t *context)
|
||||
#define ace_signal_handlers_dispatcher ACE_SignalHandler(ACE_Sig_Handlers::dispatch)
|
||||
#endif /* ACE_HAS_SIG_C_FUNC */
|
||||
|
||||
|
||||
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
|
||||
|
||||
// Array of Event_Handlers that will handle the signals.
|
||||
/// Array of Event_Handlers that will handle the signals.
|
||||
ACE_Event_Handler *ACE_Sig_Handler::signal_handlers_[ACE_NSIG];
|
||||
|
||||
// Remembers if a signal has occurred.
|
||||
/// Remembers if a signal has occurred.
|
||||
sig_atomic_t ACE_Sig_Handler::sig_pending_ = 0;
|
||||
|
||||
|
||||
ACE_ALLOC_HOOK_DEFINE(ACE_Sig_Handler)
|
||||
|
||||
ACE_Sig_Handler::~ACE_Sig_Handler (void)
|
||||
@@ -133,10 +129,9 @@ ACE_Sig_Handler::handler (int signum,
|
||||
return ACE_Sig_Handler::handler_i (signum, new_sh);
|
||||
}
|
||||
|
||||
// Register an ACE_Event_Handler along with the corresponding SIGNUM.
|
||||
// This method does NOT acquire any locks, so it can be called from a
|
||||
// signal handler.
|
||||
|
||||
/// Register an ACE_Event_Handler along with the corresponding SIGNUM.
|
||||
/// This method does NOT acquire any locks, so it can be called from a
|
||||
/// signal handler.
|
||||
int
|
||||
ACE_Sig_Handler::register_handler_i (int signum,
|
||||
ACE_Event_Handler *new_sh,
|
||||
@@ -171,10 +166,9 @@ ACE_Sig_Handler::register_handler_i (int signum,
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Register an ACE_Event_Handler along with the corresponding SIGNUM.
|
||||
// This method acquires a lock, so it can't be called from a signal
|
||||
// handler, e.g., <dispatch>.
|
||||
|
||||
/// Register an ACE_Event_Handler along with the corresponding SIGNUM.
|
||||
/// This method acquires a lock, so it can't be called from a signal
|
||||
/// handler, e.g., <dispatch>.
|
||||
int
|
||||
ACE_Sig_Handler::register_handler (int signum,
|
||||
ACE_Event_Handler *new_sh,
|
||||
@@ -222,8 +216,7 @@ ACE_Sig_Handler::remove_handler_i (int signum,
|
||||
return new_disp->register_action (signum, old_disp);
|
||||
}
|
||||
|
||||
// Remove an ACE_Event_Handler.
|
||||
|
||||
/// Remove an ACE_Event_Handler.
|
||||
int
|
||||
ACE_Sig_Handler::remove_handler (int signum,
|
||||
ACE_Sig_Action *new_disp,
|
||||
@@ -242,9 +235,8 @@ ACE_Sig_Handler::remove_handler (int signum,
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Master dispatcher function that gets called by a signal handler and
|
||||
// dispatches one handler...
|
||||
|
||||
/// Master dispatcher function that gets called by a signal handler and
|
||||
/// dispatches one handler...
|
||||
void
|
||||
ACE_Sig_Handler::dispatch (int signum,
|
||||
siginfo_t *siginfo,
|
||||
@@ -287,13 +279,13 @@ ACE_Sig_Handler::dispatch (int signum,
|
||||
// from compiling...
|
||||
#define ACE_MAX_SIGNAL_HANDLERS ((size_t) 20)
|
||||
|
||||
// Keeps track of the id that uniquely identifies each registered
|
||||
// signal handler. This id can be used to cancel a timer via the
|
||||
// <remove_handler> method.
|
||||
/// Keeps track of the id that uniquely identifies each registered
|
||||
/// signal handler. This id can be used to cancel a timer via the
|
||||
/// <remove_handler> method.
|
||||
int ACE_Sig_Handlers::sigkey_ = 0;
|
||||
|
||||
// If this is true then a 3rd party library has registered a
|
||||
// handler...
|
||||
/// If this is true then a 3rd party library has registered a
|
||||
/// handler...
|
||||
bool ACE_Sig_Handlers::third_party_sig_handler_ = false;
|
||||
|
||||
// Make life easier by defining typedefs...
|
||||
@@ -339,9 +331,8 @@ ACE_Sig_Handlers::dump (void) const
|
||||
#endif /* ACE_HAS_DUMP */
|
||||
}
|
||||
|
||||
// This is the method that does all the dirty work... The basic
|
||||
// structure of this method was devised by Detlef Becker.
|
||||
|
||||
/// This is the method that does all the dirty work... The basic
|
||||
/// structure of this method was devised by Detlef Becker.
|
||||
int
|
||||
ACE_Sig_Handlers::register_handler (int signum,
|
||||
ACE_Event_Handler *new_sh,
|
||||
@@ -404,10 +395,10 @@ ACE_Sig_Handlers::register_handler (int signum,
|
||||
ACE_Sig_Adapter (new_sh,
|
||||
++ACE_Sig_Handlers::sigkey_),
|
||||
-1);
|
||||
|
||||
// Add the ACE signal handler to the set of handlers for this
|
||||
// signal (make sure it goes before the external one if there is
|
||||
// one of these).
|
||||
|
||||
int result = ACE_Sig_Handlers_Set::instance (signum)->insert (ace_sig_adapter);
|
||||
|
||||
if (result == -1)
|
||||
@@ -467,11 +458,10 @@ ACE_Sig_Handlers::register_handler (int signum,
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Remove the ACE_Event_Handler currently associated with <signum>.
|
||||
// Install the new disposition (if given) and return the previous
|
||||
// disposition (if desired by the caller). Returns 0 on success and
|
||||
// -1 if <signum> is invalid.
|
||||
|
||||
/// Remove the ACE_Event_Handler currently associated with @a signum.
|
||||
/// Install the new disposition (if given) and return the previous
|
||||
/// disposition (if desired by the caller). Returns 0 on success and
|
||||
// -1 if @a signum is invalid.
|
||||
int
|
||||
ACE_Sig_Handlers::remove_handler (int signum,
|
||||
ACE_Sig_Action *new_disp,
|
||||
@@ -492,7 +482,6 @@ ACE_Sig_Handlers::remove_handler (int signum,
|
||||
ACE_SIG_HANDLERS_ITERATOR handler_iterator (*handler_set);
|
||||
|
||||
// Iterate through the set of handlers for this signal.
|
||||
|
||||
for (ACE_Event_Handler **eh;
|
||||
handler_iterator.next (eh) != 0;
|
||||
)
|
||||
@@ -503,7 +492,6 @@ ACE_Sig_Handlers::remove_handler (int signum,
|
||||
// Remove the handler if (1) its key matches the key we've
|
||||
// been told to remove or (2) if we've been told to remove
|
||||
// *all* handlers (i.e., <sigkey> == -1).
|
||||
|
||||
if (sh->sigkey () == sigkey || sigkey == -1)
|
||||
{
|
||||
handler_set->remove (*eh);
|
||||
@@ -516,7 +504,6 @@ ACE_Sig_Handlers::remove_handler (int signum,
|
||||
// If there are no more handlers left for a signal then
|
||||
// register the new disposition or restore the default
|
||||
// disposition.
|
||||
|
||||
ACE_Sig_Action sa (SIG_DFL, (sigset_t *) 0);
|
||||
|
||||
if (new_disp == 0)
|
||||
@@ -530,9 +517,8 @@ ACE_Sig_Handlers::remove_handler (int signum,
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Master dispatcher function that gets called by a signal handler and
|
||||
// dispatches *all* the handlers...
|
||||
|
||||
/// Master dispatcher function that gets called by a signal handler and
|
||||
/// dispatches *all* the handlers...
|
||||
void
|
||||
ACE_Sig_Handlers::dispatch (int signum,
|
||||
siginfo_t *siginfo,
|
||||
@@ -571,10 +557,9 @@ ACE_Sig_Handlers::dispatch (int signum,
|
||||
}
|
||||
}
|
||||
|
||||
// Return the first item in the list of handlers. Note that this will
|
||||
// trivially provide the same behavior as the ACE_Sig_Handler
|
||||
// version if there is only 1 handler registered!
|
||||
|
||||
/// Return the first item in the list of handlers. Note that this will
|
||||
/// trivially provide the same behavior as the ACE_Sig_Handler
|
||||
/// version if there is only 1 handler registered!
|
||||
ACE_Event_Handler *
|
||||
ACE_Sig_Handlers::handler (int signum)
|
||||
{
|
||||
@@ -587,12 +572,11 @@ ACE_Sig_Handlers::handler (int signum)
|
||||
return *eh;
|
||||
}
|
||||
|
||||
// The following is a strange bit of logic that tries to give the same
|
||||
// semantics as what happens in ACE_Sig_Handler when we replace the
|
||||
// current signal handler with a new one. Note that if there is only
|
||||
// one signal handler the behavior will be identical. If there is
|
||||
// more than one handler then things get weird...
|
||||
|
||||
/// The following is a strange bit of logic that tries to give the same
|
||||
/// semantics as what happens in ACE_Sig_Handler when we replace the
|
||||
/// current signal handler with a new one. Note that if there is only
|
||||
/// one signal handler the behavior will be identical. If there is
|
||||
/// more than one handler then things get weird...
|
||||
ACE_Event_Handler *
|
||||
ACE_Sig_Handlers::handler (int signum, ACE_Event_Handler *new_sh)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user