2010-08-02 07:54:16

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: [tip:perf/core] perf tui: Make CTRL+Z suspend perf

Commit-ID: 73ae8f85fda49410a59d7b532ce69a0b811ef6d5
Gitweb: http://git.kernel.org/tip/73ae8f85fda49410a59d7b532ce69a0b811ef6d5
Author: Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Fri, 30 Jul 2010 10:06:06 -0300
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Fri, 30 Jul 2010 10:06:06 -0300

perf tui: Make CTRL+Z suspend perf

Cc: Frederic Weisbecker <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Stephane Eranian <[email protected]>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/util/newt.c | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/tools/perf/util/newt.c b/tools/perf/util/newt.c
index 28f74eb..91de99b 100644
--- a/tools/perf/util/newt.c
+++ b/tools/perf/util/newt.c
@@ -11,6 +11,7 @@
#define HAVE_LONG_LONG __GLIBC_HAVE_LONG_LONG
#endif
#include <slang.h>
+#include <signal.h>
#include <stdlib.h>
#include <newt.h>
#include <sys/ttydefaults.h>
@@ -891,6 +892,13 @@ static struct newtPercentTreeColors {
"blue", "lightgray",
};

+static void newt_suspend(void *d __used)
+{
+ newtSuspend();
+ raise(SIGTSTP);
+ newtResume();
+}
+
void setup_browser(void)
{
struct newtPercentTreeColors *c = &defaultPercentTreeColors;
@@ -904,6 +912,7 @@ void setup_browser(void)
use_browser = 1;
newtInit();
newtCls();
+ newtSetSuspendCallback(newt_suspend, NULL);
ui_helpline__puts(" ");
sltt_set_color(HE_COLORSET_TOP, NULL, c->topColorFg, c->topColorBg);
sltt_set_color(HE_COLORSET_MEDIUM, NULL, c->mediumColorFg, c->mediumColorBg);