summary refs log tree commit diff
path: root/rvnit.c
diff options
context:
space:
mode:
Diffstat (limited to 'rvnit.c')
-rw-r--r--rvnit.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/rvnit.c b/rvnit.c
index fcc83f1..ecf56ec 100644
--- a/rvnit.c
+++ b/rvnit.c
@@ -994,11 +994,14 @@ fatal:
 		own_console();
 
 	sigaction(SIGINT, &(struct sigaction){
-		    .sa_handler=SIG_IGN, .sa_mask=allset }, 0);
+		    .sa_handler=on_signal, .sa_mask=allset,
+		    .sa_flags=SA_RESTART }, 0);
 	sigaction(SIGTERM, &(struct sigaction){
-		    .sa_handler=SIG_IGN, .sa_mask=allset }, 0);
+		    .sa_handler=on_signal, .sa_mask=allset,
+		    .sa_flags=SA_RESTART }, 0);
 	sigaction(SIGCONT, &(struct sigaction){
-		    .sa_handler=SIG_IGN, .sa_mask=allset }, 0);
+		    .sa_handler=on_signal, .sa_mask=allset,
+		    .sa_flags=SA_RESTART }, 0);
 
 #ifdef __linux__
 	reboot(RB_ENABLE_CAD);