aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2010-06-09 06:13:16 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-06-10 07:29:19 -0400
commit1d90f2e707e75afdb6b644f774cf5e54dc9c33fc (patch)
treed5bc78d60ac4462ff544f394da94361ead1447d3 /tools/perf
parentd11007703c31db534674ebeeb9eb047bbbe758bd (diff)
perf record: Don't call newt functions when not initialized
When processing events we want to give visual feedback to the user when using the newt browser, so there are ui_progress calls in __perf_session__process_events, but those should check if newt is being used. Reported-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Tested-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>, Cc: Peter Zijlstra <peterz@infradead.org> Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <20100609123530.GB9471@ghostprotocols.net> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/newt.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/tools/perf/util/newt.c b/tools/perf/util/newt.c
index cf182ca132fe..7537ca15900b 100644
--- a/tools/perf/util/newt.c
+++ b/tools/perf/util/newt.c
@@ -43,6 +43,9 @@ struct ui_progress *ui_progress__new(const char *title, u64 total)
43 43
44 if (self != NULL) { 44 if (self != NULL) {
45 int cols; 45 int cols;
46
47 if (use_browser <= 0)
48 return self;
46 newtGetScreenSize(&cols, NULL); 49 newtGetScreenSize(&cols, NULL);
47 cols -= 4; 50 cols -= 4;
48 newtCenteredWindow(cols, 1, title); 51 newtCenteredWindow(cols, 1, title);
@@ -67,14 +70,22 @@ out_free_self:
67 70
68void ui_progress__update(struct ui_progress *self, u64 curr) 71void ui_progress__update(struct ui_progress *self, u64 curr)
69{ 72{
73 /*
74 * FIXME: We should have a per UI backend way of showing progress,
75 * stdio will just show a percentage as NN%, etc.
76 */
77 if (use_browser <= 0)
78 return;
70 newtScaleSet(self->scale, curr); 79 newtScaleSet(self->scale, curr);
71 newtRefresh(); 80 newtRefresh();
72} 81}
73 82
74void ui_progress__delete(struct ui_progress *self) 83void ui_progress__delete(struct ui_progress *self)
75{ 84{
76 newtFormDestroy(self->form); 85 if (use_browser > 0) {
77 newtPopWindow(); 86 newtFormDestroy(self->form);
87 newtPopWindow();
88 }
78 free(self); 89 free(self);
79} 90}
80 91