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: NSrikar Dronamraju <srikar@linux.vnet.ibm.com>
Tested-by: NSrikar 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: NArnaldo Carvalho de Melo <acme@redhat.com>
上级 d1100770
...@@ -43,6 +43,9 @@ struct ui_progress *ui_progress__new(const char *title, u64 total) ...@@ -43,6 +43,9 @@ struct ui_progress *ui_progress__new(const char *title, u64 total)
if (self != NULL) { if (self != NULL) {
int cols; int cols;
if (use_browser <= 0)
return self;
newtGetScreenSize(&cols, NULL); newtGetScreenSize(&cols, NULL);
cols -= 4; cols -= 4;
newtCenteredWindow(cols, 1, title); newtCenteredWindow(cols, 1, title);
...@@ -67,14 +70,22 @@ struct ui_progress *ui_progress__new(const char *title, u64 total) ...@@ -67,14 +70,22 @@ struct ui_progress *ui_progress__new(const char *title, u64 total)
void ui_progress__update(struct ui_progress *self, u64 curr) void ui_progress__update(struct ui_progress *self, u64 curr)
{ {
/*
* FIXME: We should have a per UI backend way of showing progress,
* stdio will just show a percentage as NN%, etc.
*/
if (use_browser <= 0)
return;
newtScaleSet(self->scale, curr); newtScaleSet(self->scale, curr);
newtRefresh(); newtRefresh();
} }
void ui_progress__delete(struct ui_progress *self) void ui_progress__delete(struct ui_progress *self)
{ {
if (use_browser > 0) {
newtFormDestroy(self->form); newtFormDestroy(self->form);
newtPopWindow(); newtPopWindow();
}
free(self); free(self);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册