suppress Sun CC warnings about casting between C++ and extern C function pointers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -52,13 +52,23 @@ void wxAppConsole::CheckSignal()
|
||||
}
|
||||
}
|
||||
|
||||
// the type of the signal handlers we use is "void(*)(int)" while the real
|
||||
// signal handlers are extern "C" and so have incompatible type and at least
|
||||
// Sun CC warns about it, so use explicit casts to suppress these warnings as
|
||||
// they should be harmless
|
||||
extern "C"
|
||||
{
|
||||
typedef void (*SignalHandler_t)(int);
|
||||
}
|
||||
|
||||
bool wxAppConsole::SetSignalHandler(int signal, SignalHandler handler)
|
||||
{
|
||||
const bool install = handler != SIG_DFL && handler != SIG_IGN;
|
||||
const bool install = (SignalHandler_t)handler != SIG_DFL &&
|
||||
(SignalHandler_t)handler != SIG_IGN;
|
||||
|
||||
struct sigaction sa;
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
sa.sa_handler = &wxAppConsole::HandleSignal;
|
||||
sa.sa_handler = (SignalHandler_t)&wxAppConsole::HandleSignal;
|
||||
sa.sa_flags = SA_RESTART;
|
||||
int res = sigaction(signal, &sa, 0);
|
||||
if ( res != 0 )
|
||||
|
Reference in New Issue
Block a user