From aa63d9f980f95718fc28ca7e222c1e8d7ca9e778 Mon Sep 17 00:00:00 2001 From: Christopher Ferris Date: Tue, 29 Apr 2014 09:35:30 -0700 Subject: Use real time signal for threads instead of SIGURG. This guarantees that any application is not also using this signal for some other purpose. Change-Id: I7c9bbb0ec8bb4e13322ecda951bcd43c6bf6ee1a --- libbacktrace/BacktraceThread.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libbacktrace/BacktraceThread.h') diff --git a/libbacktrace/BacktraceThread.h b/libbacktrace/BacktraceThread.h index 3412d58..9310a44 100644 --- a/libbacktrace/BacktraceThread.h +++ b/libbacktrace/BacktraceThread.h @@ -18,6 +18,7 @@ #define _LIBBACKTRACE_BACKTRACE_THREAD_H #include +#include #include #include "BacktraceImpl.h" @@ -29,6 +30,14 @@ enum state_e { STATE_CANCEL, }; +// The signal used to cause a thread to dump the stack. +#if defined(__GLIBC__) +// GLIBC reserves __SIGRTMIN signals, so use SIGRTMIN to avoid errors. +#define THREAD_SIGNAL SIGRTMIN +#else +#define THREAD_SIGNAL (__SIGRTMIN+1) +#endif + class BacktraceThreadInterface; struct ThreadEntry { -- cgit v1.1