]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/appunix.cpp
Avoid overflowing the wake up when handling events in Unix console apps.
[wxWidgets.git] / src / unix / appunix.cpp
index 1c89ecf7e4f54d9a887d36cfb4d6a18aad91b49c..5c59dec71ca6d81a702dd9f7381ed713f249cefd 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        wx/unix/appunix.cpp
+// Name:        src/unix/appunix.cpp
 // Purpose:     wxAppConsole with wxMainLoop implementation
 // Author:      Lukasz Michalski
 // Created:     28/01/2005
 #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 0
+#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"));