mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-27 18:51:41 +02:00
Also handle SIGQUIT
This commit is contained in:
@@ -241,10 +241,9 @@ setup_signal_handler(void) {
|
|||||||
signal_read_fd = fds[0]; signal_write_fd = fds[1];
|
signal_read_fd = fds[0]; signal_write_fd = fds[1];
|
||||||
set_blocking(signal_read_fd, false); set_blocking(signal_write_fd, false);
|
set_blocking(signal_read_fd, false); set_blocking(signal_write_fd, false);
|
||||||
struct sigaction act = {.sa_sigaction=handle_signal, .sa_flags=SA_SIGINFO | SA_RESTART};
|
struct sigaction act = {.sa_sigaction=handle_signal, .sa_flags=SA_SIGINFO | SA_RESTART};
|
||||||
if (sigaction(SIGWINCH, &act, NULL) != 0) return false;
|
#define a(which) if (sigaction(which, &act, NULL) != 0) return false;
|
||||||
if (sigaction(SIGINT, &act, NULL) != 0) return false;
|
a(SIGWINCH); a(SIGINT); a(SIGTERM); a(SIGQUIT); a(SIGHUP);
|
||||||
if (sigaction(SIGTERM, &act, NULL) != 0) return false;
|
#undef a
|
||||||
if (sigaction(SIGHUP, &act, NULL) != 0) return false;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -430,7 +429,7 @@ read_signals(void) {
|
|||||||
switch(sig->si_signo) {
|
switch(sig->si_signo) {
|
||||||
case SIGWINCH:
|
case SIGWINCH:
|
||||||
window_size_dirty = true; break;
|
window_size_dirty = true; break;
|
||||||
case SIGINT: case SIGTERM: case SIGHUP:
|
case SIGINT: case SIGTERM: case SIGHUP: case SIGQUIT:
|
||||||
if (child_pid > 0) kill(child_pid, sig->si_signo);
|
if (child_pid > 0) kill(child_pid, sig->si_signo);
|
||||||
else {
|
else {
|
||||||
for (size_t i = 0; i < arraysz(pending_signals); i++) {
|
for (size_t i = 0; i < arraysz(pending_signals); i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user