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 <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
|
||||
// same names
|
||||
bool wxAppConsole::Initialize(int& argc_, wxChar** argv_)
|
||||
@@ -78,12 +83,8 @@ bool wxAppConsole::SetSignalHandler(int signal, SignalHandler handler)
|
||||
struct sigaction sa;
|
||||
memset(&sa, 0, sizeof(sa));
|
||||
sa.sa_handler = (SignalHandler_t)&wxAppConsole::HandleSignal;
|
||||
#ifdef __VMS
|
||||
sa.sa_flags = 0;
|
||||
#else
|
||||
sa.sa_flags = SA_RESTART;
|
||||
#endif
|
||||
int res = sigaction(signal, &sa, 0);
|
||||
sa.sa_flags = SA_RESTART;
|
||||
int res = sigaction(signal, &sa, 0);
|
||||
if ( res != 0 )
|
||||
{
|
||||
wxLogSysError(_("Failed to install signal handler"));
|
||||
|
Reference in New Issue
Block a user