Check whether SA_RESTART is defined and don't use it if it isn't.
SA_RESTART is not defined for QNX and not only VMS so test for it directly instead of testing for the platform. See #11817. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -24,6 +24,11 @@
|
|||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#ifndef SA_RESTART
|
||||||
|
// don't use for systems which don't define it (at least VMS and QNX)
|
||||||
|
#define SA_RESTART
|
||||||
|
#endif
|
||||||
|
|
||||||
// use unusual names for arg[cv] to avoid clashes with wxApp members with the
|
// use unusual names for arg[cv] to avoid clashes with wxApp members with the
|
||||||
// same names
|
// same names
|
||||||
bool wxAppConsole::Initialize(int& argc_, wxChar** argv_)
|
bool wxAppConsole::Initialize(int& argc_, wxChar** argv_)
|
||||||
@@ -78,12 +83,8 @@ bool wxAppConsole::SetSignalHandler(int signal, SignalHandler handler)
|
|||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
memset(&sa, 0, sizeof(sa));
|
memset(&sa, 0, sizeof(sa));
|
||||||
sa.sa_handler = (SignalHandler_t)&wxAppConsole::HandleSignal;
|
sa.sa_handler = (SignalHandler_t)&wxAppConsole::HandleSignal;
|
||||||
#ifdef __VMS
|
sa.sa_flags = SA_RESTART;
|
||||||
sa.sa_flags = 0;
|
int res = sigaction(signal, &sa, 0);
|
||||||
#else
|
|
||||||
sa.sa_flags = SA_RESTART;
|
|
||||||
#endif
|
|
||||||
int res = sigaction(signal, &sa, 0);
|
|
||||||
if ( res != 0 )
|
if ( res != 0 )
|
||||||
{
|
{
|
||||||
wxLogSysError(_("Failed to install signal handler"));
|
wxLogSysError(_("Failed to install signal handler"));
|
||||||
|
Reference in New Issue
Block a user