From 362919a40c8652e5465a2240d7524d1cc1aac9ac Mon Sep 17 00:00:00 2001 From: Martin Corino Date: Tue, 9 Nov 2021 16:12:24 +0100 Subject: Fix signal handler warnings. --- ACE/ace/Process.cpp | 3 ++- ACE/ace/Process_Manager.cpp | 3 ++- ACE/ace/Sig_Adapter.cpp | 3 ++- ACE/ace/Sig_Handler.cpp | 4 ++-- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ACE/ace/Process.cpp b/ACE/ace/Process.cpp index d75e5458815..1807a04575a 100644 --- a/ACE/ace/Process.cpp +++ b/ACE/ace/Process.cpp @@ -695,7 +695,8 @@ ACE_Process::wait (const ACE_Time_Value &tv, // open(), and there's already a SIGCHLD action set, so no // action is needed here. ACE_Sig_Action old_action; - ACE_Sig_Action do_sigchld ((ACE_SignalHandler)sigchld_nop); + ACE_Sig_Handler_Ex sigchld_nop_ptr = sigchld_nop; + ACE_Sig_Action do_sigchld (reinterpret_cast (reinterpret_cast (sigchld_nop_ptr))); do_sigchld.register_action (SIGCHLD, &old_action); pid_t pid; diff --git a/ACE/ace/Process_Manager.cpp b/ACE/ace/Process_Manager.cpp index fa2e5cefec5..4fb0c5a1034 100644 --- a/ACE/ace/Process_Manager.cpp +++ b/ACE/ace/Process_Manager.cpp @@ -886,7 +886,8 @@ ACE_Process_Manager::wait (pid_t pid, ACE_Sig_Action old_action; if (this->reactor () == 0) { - ACE_Sig_Action do_sigchld ((ACE_SignalHandler)sigchld_nop); + ACE_Sig_Handler_Ex sigchld_nop_ptr = sigchld_nop; + ACE_Sig_Action do_sigchld (reinterpret_cast (reinterpret_cast (sigchld_nop_ptr))); do_sigchld.register_action (SIGCHLD, &old_action); } diff --git a/ACE/ace/Sig_Adapter.cpp b/ACE/ace/Sig_Adapter.cpp index c6722b21a7c..53754975bf7 100644 --- a/ACE/ace/Sig_Adapter.cpp +++ b/ACE/ace/Sig_Adapter.cpp @@ -49,7 +49,8 @@ ACE_Sig_Adapter::handle_signal (int signum, siginfo_t *siginfo, ucontext_t *ucon // expecting... this->sa_.register_action (signum, &old_disp); - ACE_Sig_Handler_Ex sig_func = ACE_Sig_Handler_Ex (this->sa_.handler ()); + ACE_SignalHandler sig_handler = this->sa_.handler (); + ACE_Sig_Handler_Ex sig_func = reinterpret_cast (reinterpret_cast (sig_handler)); (*sig_func) (signum, siginfo, ucontext); // Restore the original disposition. diff --git a/ACE/ace/Sig_Handler.cpp b/ACE/ace/Sig_Handler.cpp index 3fb63c52ffc..6dbdcb55a6c 100644 --- a/ACE/ace/Sig_Handler.cpp +++ b/ACE/ace/Sig_Handler.cpp @@ -31,9 +31,9 @@ ace_sig_handlers_dispatch (int signum, siginfo_t *info, ucontext_t *context) #define ace_signal_handlers_dispatcher ACE_SignalHandler(ace_sig_handlers_dispatch) #else -#define ace_signal_handler_dispatcher ACE_SignalHandler(ACE_Sig_Handler::dispatch) +#define ace_signal_handler_dispatcher reinterpret_cast (reinterpret_cast ((ACE_Sig_Handler_Ex)ACE_Sig_Handler::dispatch)) -#define ace_signal_handlers_dispatcher ACE_SignalHandler(ACE_Sig_Handlers::dispatch) +#define ace_signal_handlers_dispatcher reinterpret_cast (reinterpret_cast ((ACE_Sig_Handler_Ex)ACE_Sig_Handlers::dispatch)) #endif /* ACE_HAS_SIG_C_FUNC */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL -- cgit v1.2.1