Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh...
[deliverable/linux.git] / tools / perf / util / ui / setup.c
1 #include <newt.h>
2 #include <signal.h>
3 #include <stdbool.h>
4
5 #include "../cache.h"
6 #include "../debug.h"
7 #include "browser.h"
8 #include "helpline.h"
9 #include "ui.h"
10
11 pthread_mutex_t ui__lock = PTHREAD_MUTEX_INITIALIZER;
12
13 static void newt_suspend(void *d __used)
14 {
15 newtSuspend();
16 raise(SIGTSTP);
17 newtResume();
18 }
19
20 void setup_browser(bool fallback_to_pager)
21 {
22 if (!isatty(1) || !use_browser || dump_trace) {
23 use_browser = 0;
24 if (fallback_to_pager)
25 setup_pager();
26 return;
27 }
28
29 use_browser = 1;
30 newtInit();
31 newtCls();
32 newtSetSuspendCallback(newt_suspend, NULL);
33 ui_helpline__init();
34 ui_browser__init();
35 }
36
37 void exit_browser(bool wait_for_ok)
38 {
39 if (use_browser > 0) {
40 if (wait_for_ok) {
41 char title[] = "Fatal Error", ok[] = "Ok";
42 newtWinMessage(title, ok, ui_helpline__last_msg);
43 }
44 newtFinished();
45 }
46 }
This page took 0.035546 seconds and 5 git commands to generate.