@@ -69,16 +69,10 @@ # define asm __asm__ # include # undef asm #endif -#ifdef HAVE_SIGACTION -# ifndef SA_RESTART -# define SA_RESTART 0 -# endif -#endif - @interface OFApplication () - (instancetype)of_init OF_METHOD_FAMILY(init); - (void)of_setArgumentCount: (int *)argc andArgumentValues: (char **[])argv; #ifdef OF_WINDOWS @@ -99,16 +93,16 @@ [delegate applicationWillTerminate]; [delegate release]; } -#define SIGNAL_HANDLER(sig) \ +#define SIGNAL_HANDLER(signal) \ static void \ - handle##sig(int signal) \ + handle##signal(int sig) \ { \ - app->_##sig##Handler(app->_delegate, \ - @selector(applicationDidReceive##sig)); \ + app->_##signal##Handler(app->_delegate, \ + @selector(applicationDidReceive##signal)); \ } SIGNAL_HANDLER(SIGINT) #ifdef SIGHUP SIGNAL_HANDLER(SIGHUP) #endif @@ -507,37 +501,21 @@ return _delegate; } - (void)setDelegate: (id )delegate { -#ifdef HAVE_SIGACTION - struct sigaction sa = { .sa_flags = SA_RESTART }; - sigemptyset(&sa.sa_mask); - -# define REGISTER_SIGNAL(sig) \ - if ([delegate respondsToSelector: \ - @selector(applicationDidReceive##sig)]) { \ - _##sig##Handler = (void (*)(id, SEL))[(id)delegate \ - methodForSelector: \ - @selector(applicationDidReceive##sig)]; \ - \ - sa.sa_handler = handle##sig; \ - } else \ - sa.sa_handler = SIG_DFL; \ - \ - OF_ENSURE(sigaction(sig, &sa, NULL) == 0); -#else -# define REGISTER_SIGNAL(sig) \ +#define REGISTER_SIGNAL(sig) \ if ([delegate respondsToSelector: \ @selector(applicationDidReceive##sig)]) { \ _##sig##Handler = (void (*)(id, SEL))[(id)delegate \ methodForSelector: \ @selector(applicationDidReceive##sig)]; \ signal(sig, handle##sig); \ - } else \ - signal(sig, (void (*)(int))SIG_DFL); -#endif + } else { \ + _##sig##Handler = NULL; \ + signal(sig, (void (*)(int))SIG_DFL); \ + } _delegate = delegate; REGISTER_SIGNAL(SIGINT) #ifdef SIGHUP