Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
setup.c
Go to the documentation of this file.
1 #include <pthread.h>
2 
3 #include "../util/cache.h"
4 #include "../util/debug.h"
5 #include "../util/hist.h"
6 
7 pthread_mutex_t ui__lock = PTHREAD_MUTEX_INITIALIZER;
8 
9 void setup_browser(bool fallback_to_pager)
10 {
11  if (!isatty(1) || dump_trace)
12  use_browser = 0;
13 
14  /* default to TUI */
15  if (use_browser < 0)
16  use_browser = 1;
17 
18  switch (use_browser) {
19  case 2:
20  if (perf_gtk__init() == 0)
21  break;
22  /* fall through */
23  case 1:
24  use_browser = 1;
25  if (ui__init() == 0)
26  break;
27  /* fall through */
28  default:
29  use_browser = 0;
30  if (fallback_to_pager)
31  setup_pager();
32 
34  break;
35  }
36 }
37 
38 void exit_browser(bool wait_for_ok)
39 {
40  switch (use_browser) {
41  case 2:
42  perf_gtk__exit(wait_for_ok);
43  break;
44 
45  case 1:
46  ui__exit(wait_for_ok);
47  break;
48 
49  default:
50  break;
51  }
52 }