aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--procps/top.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/procps/top.c b/procps/top.c
index a97e557aa..172933cbe 100644
--- a/procps/top.c
+++ b/procps/top.c
@@ -388,6 +388,7 @@ static void reset_term(void)
388static void sig_catcher(int sig ATTRIBUTE_UNUSED) 388static void sig_catcher(int sig ATTRIBUTE_UNUSED)
389{ 389{
390 reset_term(); 390 reset_term();
391 exit(1);
391} 392}
392#endif /* CONFIG_FEATURE_USE_TERMIOS */ 393#endif /* CONFIG_FEATURE_USE_TERMIOS */
393 394
@@ -423,11 +424,7 @@ int top_main(int argc, char **argv)
423 new_settings.c_lflag &= ~(ECHO | ECHONL); 424 new_settings.c_lflag &= ~(ECHO | ECHONL);
424 425
425 signal(SIGTERM, sig_catcher); 426 signal(SIGTERM, sig_catcher);
426 sigaction(SIGTERM, (struct sigaction *) 0, &sa); 427 signal(SIGINT, sig_catcher);
427 sa.sa_flags |= SA_RESTART;
428 sa.sa_flags &= ~SA_INTERRUPT;
429 sigaction(SIGTERM, &sa, (struct sigaction *) 0);
430 sigaction(SIGINT, &sa, (struct sigaction *) 0);
431 tcsetattr(0, TCSANOW, (void *) &new_settings); 428 tcsetattr(0, TCSANOW, (void *) &new_settings);
432 atexit(reset_term); 429 atexit(reset_term);
433#endif /* CONFIG_FEATURE_USE_TERMIOS */ 430#endif /* CONFIG_FEATURE_USE_TERMIOS */