forked from Minki/linux
ea251d51d2
Current hist print functions are messy because it has to consider many of command line options and the code doing that is scattered around to places. So when someone wants to add an option to manipulate the hist output it'd very easy to miss to update all of them in sync. And things getting worse as more options/features are added continuously. So I'd like to refactor them using hpp formats and move common code to ui/hist.c in order to make it easy to maintain and to add new features. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1346640790-17197-2-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
53 lines
793 B
C
53 lines
793 B
C
#include <pthread.h>
|
|
|
|
#include "../util/cache.h"
|
|
#include "../util/debug.h"
|
|
#include "../util/hist.h"
|
|
|
|
pthread_mutex_t ui__lock = PTHREAD_MUTEX_INITIALIZER;
|
|
|
|
void setup_browser(bool fallback_to_pager)
|
|
{
|
|
if (!isatty(1) || dump_trace)
|
|
use_browser = 0;
|
|
|
|
/* default to TUI */
|
|
if (use_browser < 0)
|
|
use_browser = 1;
|
|
|
|
switch (use_browser) {
|
|
case 2:
|
|
if (perf_gtk__init() == 0)
|
|
break;
|
|
/* fall through */
|
|
case 1:
|
|
use_browser = 1;
|
|
if (ui__init() == 0)
|
|
break;
|
|
/* fall through */
|
|
default:
|
|
use_browser = 0;
|
|
if (fallback_to_pager)
|
|
setup_pager();
|
|
|
|
perf_hpp__init(false, false);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void exit_browser(bool wait_for_ok)
|
|
{
|
|
switch (use_browser) {
|
|
case 2:
|
|
perf_gtk__exit(wait_for_ok);
|
|
break;
|
|
|
|
case 1:
|
|
ui__exit(wait_for_ok);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|