setup.c 781 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include <pthread.h>
  2. #include "../util/cache.h"
  3. #include "../util/debug.h"
  4. #include "../util/hist.h"
  5. pthread_mutex_t ui__lock = PTHREAD_MUTEX_INITIALIZER;
  6. void setup_browser(bool fallback_to_pager)
  7. {
  8. if (!isatty(1) || dump_trace)
  9. use_browser = 0;
  10. /* default to TUI */
  11. if (use_browser < 0)
  12. use_browser = 1;
  13. switch (use_browser) {
  14. case 2:
  15. if (perf_gtk__init() == 0)
  16. break;
  17. /* fall through */
  18. case 1:
  19. use_browser = 1;
  20. if (ui__init() == 0)
  21. break;
  22. /* fall through */
  23. default:
  24. use_browser = 0;
  25. if (fallback_to_pager)
  26. setup_pager();
  27. perf_hpp__init();
  28. break;
  29. }
  30. }
  31. void exit_browser(bool wait_for_ok)
  32. {
  33. switch (use_browser) {
  34. case 2:
  35. perf_gtk__exit(wait_for_ok);
  36. break;
  37. case 1:
  38. ui__exit(wait_for_ok);
  39. break;
  40. default:
  41. break;
  42. }
  43. }