diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-02-24 13:34:23 -0500 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-02-24 13:34:23 -0500 |
commit | 07c1a0dadfce976e9877c55ce5212dd14753c91d (patch) | |
tree | 4c2e688b84fb3bf437a4fe2898ae51494f9cf540 /tools/perf | |
parent | 280836812f5f821d26393268010f211160874810 (diff) |
perf tools: Introduce dump_stack signal helper
To use in stdio based tools, like 'trace'.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: David Ahern <dsahern@gmail.com>
Cc: Don Zickus <dzickus@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-79kjmerlw6d88csyx1afzwvn@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/util/util.c | 7 | ||||
-rw-r--r-- | tools/perf/util/util.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 92db3f156b63..4ee6d0d4c993 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c | |||
@@ -269,6 +269,13 @@ void dump_stack(void) | |||
269 | void dump_stack(void) {} | 269 | void dump_stack(void) {} |
270 | #endif | 270 | #endif |
271 | 271 | ||
272 | void sighandler_dump_stack(int sig) | ||
273 | { | ||
274 | psignal(sig, "perf"); | ||
275 | dump_stack(); | ||
276 | exit(sig); | ||
277 | } | ||
278 | |||
272 | void get_term_dimensions(struct winsize *ws) | 279 | void get_term_dimensions(struct winsize *ws) |
273 | { | 280 | { |
274 | char *s = getenv("LINES"); | 281 | char *s = getenv("LINES"); |
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index 73c2f8e557ab..fbd598afc606 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h | |||
@@ -277,6 +277,7 @@ char *ltrim(char *s); | |||
277 | char *rtrim(char *s); | 277 | char *rtrim(char *s); |
278 | 278 | ||
279 | void dump_stack(void); | 279 | void dump_stack(void); |
280 | void sighandler_dump_stack(int sig); | ||
280 | 281 | ||
281 | extern unsigned int page_size; | 282 | extern unsigned int page_size; |
282 | extern int cacheline_size; | 283 | extern int cacheline_size; |