21 #include "../SDL_internal.h" 34 #if defined(HAVE_SIGNAL_H) || defined(HAVE_SIGACTION) 35 #define HAVE_SIGNAL_SUPPORT 1 38 #ifdef HAVE_SIGNAL_SUPPORT 42 #ifdef SDL_BACKGROUNDING_SIGNAL 46 #ifdef SDL_FOREGROUNDING_SIGNAL 58 if ((sig == SIGINT) || (sig == SIGTERM)) {
62 #ifdef SDL_BACKGROUNDING_SIGNAL 63 else if (sig == SDL_BACKGROUNDING_SIGNAL) {
64 send_backgrounding_pending =
SDL_TRUE;
68 #ifdef SDL_FOREGROUNDING_SIGNAL 69 else if (sig == SDL_FOREGROUNDING_SIGNAL) {
70 send_foregrounding_pending =
SDL_TRUE;
79 struct sigaction action;
81 sigaction(sig,
NULL, &action);
82 #ifdef HAVE_SA_SIGACTION 83 if ( action.sa_handler == SIG_DFL && (
void (*)(
int))action.sa_sigaction == SIG_DFL ) {
85 if ( action.sa_handler == SIG_DFL ) {
88 sigaction(sig, &action,
NULL);
92 if (ohandler != SIG_DFL) {
93 signal(sig, ohandler);
101 #ifdef HAVE_SIGACTION 102 struct sigaction action;
103 sigaction(sig,
NULL, &action);
105 action.sa_handler = SIG_DFL;
106 sigaction(sig, &action,
NULL);
109 void (*ohandler) (int) = signal(sig, SIG_DFL);
111 signal(sig, ohandler);
125 #ifdef SDL_BACKGROUNDING_SIGNAL 129 #ifdef SDL_FOREGROUNDING_SIGNAL 143 #ifdef SDL_BACKGROUNDING_SIGNAL 147 #ifdef SDL_FOREGROUNDING_SIGNAL 156 #ifdef HAVE_SIGNAL_SUPPORT 167 #ifdef HAVE_SIGNAL_SUPPORT 177 #ifdef HAVE_SIGNAL_SUPPORT 183 #ifdef SDL_BACKGROUNDING_SIGNAL 184 if (send_backgrounding_pending) {
190 #ifdef SDL_FOREGROUNDING_SIGNAL 191 if (send_foregrounding_pending) {
203 #ifdef HAVE_SIGNAL_SUPPORT
static void SDL_HandleSIG(int sig)
void SDL_OnApplicationDidBecomeActive(void)
static SDL_bool disable_signals
#define SDL_GetHintBoolean
void SDL_SendPendingSignalEvents(void)
static SDL_bool send_quit_pending
static void SDL_QuitQuit_Internal(void)
void SDL_OnApplicationWillResignActive(void)
#define SDL_assert(condition)
#define SDL_HINT_NO_SIGNAL_HANDLERS
Tell SDL not to catch the SIGINT or SIGTERM signals.
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
static void SDL_EventSignal_Quit(const int sig)
static void SDL_EventSignal_Init(const int sig)
int SDL_SendAppEvent(SDL_EventType eventType)
static int SDL_QuitInit_Internal(void)