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; }
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; } }