aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2021-09-12 13:51:22 +0300
committerlevlam <levlam@telegram.org>2021-09-12 13:51:22 +0300
commit87981c105d4eab6fb50df1683ca76a60e2191279 (patch)
treeb1093823b34d5bf4b17db7a1d5c7e27cd2affa3d
parent05ebe83f2fdb8287f352c575ec8e43cdefc65905 (diff)
Print stack trace to stderr after receiving signal RTMIN+2.
-rw-r--r--telegram-bot-api/telegram-bot-api.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/telegram-bot-api/telegram-bot-api.cpp b/telegram-bot-api/telegram-bot-api.cpp
index 56930dd..ea2594d 100644
--- a/telegram-bot-api/telegram-bot-api.cpp
+++ b/telegram-bot-api/telegram-bot-api.cpp
@@ -84,6 +84,10 @@ void print_log() {
td::signal_safe_write("------------------------\n");
}
+static void dump_stacktrace_signal_handler(int sig) {
+ td::Stacktrace::print_to_stderr();
+}
+
static void fail_signal_handler(int sig) {
td::signal_safe_write_signal_number(sig);
td::Stacktrace::PrintOptions options;
@@ -187,6 +191,7 @@ int main(int argc, char *argv[]) {
td::set_runtime_signal_handler(0, change_verbosity_level_signal_handler).ensure();
td::set_runtime_signal_handler(1, dump_log_signal_handler).ensure();
+ td::set_runtime_signal_handler(2, dump_stacktrace_signal_handler).ensure();
td::init_openssl_threads();