diff options
-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; |