static void handle_signal(int sig) { /* Try to not change errno value in the main program. */ const int saved_errno = errno; switch(sig) { case SIGINT: ui_cancellation_request(); break; case SIGCHLD: received_sigchld(); break; case SIGWINCH: received_sigwinch(); break; case SIGCONT: received_sigcont(); break; /* Shutdown nicely */ case SIGHUP: case SIGQUIT: case SIGTERM: shutdown_nicely(sig, strsignal(sig)); break; } errno = saved_errno; }
BOOL WINAPI ctrl_handler(DWORD dwCtrlType) { LOG_FUNC_ENTER; switch(dwCtrlType) { case CTRL_C_EVENT: case CTRL_BREAK_EVENT: ui_cancellation_request(); break; case CTRL_CLOSE_EVENT: shutdown_nicely(dwCtrlType, "Ctrl-C"); break; case CTRL_LOGOFF_EVENT: shutdown_nicely(dwCtrlType, "Logoff"); break; case CTRL_SHUTDOWN_EVENT: shutdown_nicely(dwCtrlType, "Shutdown"); break; } return TRUE; }
BOOL WINAPI ctrl_handler(DWORD dwCtrlType) { LOG_FUNC_ENTER; switch(dwCtrlType) { case CTRL_C_EVENT: case CTRL_BREAK_EVENT: break; case CTRL_CLOSE_EVENT: case CTRL_LOGOFF_EVENT: case CTRL_SHUTDOWN_EVENT: shutdown_nicely(); break; } return TRUE; }
static void handle_signal(int sig) { switch(sig) { case SIGCHLD: received_sigchld(); break; case SIGWINCH: received_sigwinch(); break; case SIGCONT: received_sigcont(); break; /* Shutdown nicely */ case SIGHUP: case SIGQUIT: case SIGTERM: shutdown_nicely(); break; default: break; } }