diff options
Diffstat (limited to 'procps')
-rw-r--r-- | procps/powertop.c | 14 | ||||
-rw-r--r-- | procps/top.c | 1 |
2 files changed, 9 insertions, 6 deletions
diff --git a/procps/powertop.c b/procps/powertop.c index ebd659bdb..5d522bf91 100644 --- a/procps/powertop.c +++ b/procps/powertop.c @@ -8,11 +8,6 @@ * * Licensed under GPLv2, see file LICENSE in this source tree. */ - -//applet:IF_POWERTOP(APPLET(powertop, BB_DIR_USR_SBIN, BB_SUID_DROP)) - -//kbuild:lib-$(CONFIG_POWERTOP) += powertop.o - //config:config POWERTOP //config: bool "powertop (9.1 kb)" //config: default y @@ -27,6 +22,10 @@ //config: Without this, powertop will only refresh display every 10 seconds. //config: No keyboard commands will work, only ^C to terminate. +//applet:IF_POWERTOP(APPLET(powertop, BB_DIR_USR_SBIN, BB_SUID_DROP)) + +//kbuild:lib-$(CONFIG_POWERTOP) += powertop.o + // XXX This should be configurable #define ENABLE_FEATURE_POWERTOP_PROCIRQ 1 @@ -718,7 +717,7 @@ int powertop_main(int UNUSED_PARAM argc, char UNUSED_PARAM **argv) set_termios_to_raw(STDIN_FILENO, &G.init_settings, TERMIOS_CLEAR_ISIG); bb_signals(BB_FATAL_SIGS, sig_handler); /* So we don't forget to reset term settings */ - atexit(reset_term); + die_func = reset_term; #endif /* Collect initial data */ @@ -855,6 +854,9 @@ int powertop_main(int UNUSED_PARAM argc, char UNUSED_PARAM **argv) } /* for (;;) */ bb_putchar('\n'); +#if ENABLE_FEATURE_POWERTOP_INTERACTIVE + reset_term(); +#endif return EXIT_SUCCESS; } diff --git a/procps/top.c b/procps/top.c index b9958afa0..f97ded5d6 100644 --- a/procps/top.c +++ b/procps/top.c @@ -1146,6 +1146,7 @@ int top_main(int argc UNUSED_PARAM, char **argv) else { /* Turn on unbuffered input; turn off echoing, ^C ^Z etc */ set_termios_to_raw(STDIN_FILENO, &initial_settings, TERMIOS_CLEAR_ISIG); + die_func = reset_term; } bb_signals(BB_FATAL_SIGS, sig_catcher); |