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:
Vadim Zeitlin
2010-03-20 12:45:43 +00:00
parent feedacd880
commit 26844c729f

View File

@@ -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"));