На платформе android я хочу сбросить стек других потоков, когда этот поток заблокирован длинной задачей. Я знаю, как создавать дамп стека с помощью libunwind в текущем потоке, но я хочу использовать обработчик SIGUSR1 или SIGUSR2 для дампа стека в другом потоке, используя libunwind, поэтому я выполнил следующие действия:
Тема B регистрирует обработчик SIGUSR1 или SIGUSR2. В этом дескрипторе я использую libunwind для вывода текущего стека потоков.
Поток A отправляет сигнал SIGUSR1 или SIGUSR2 в поток B. Поток B будет обрабатывать сигнал, отправленный из потока A, и сбрасывать стек.
Но я не могу получить стек, который описывает длинную задачу в потоке B, я получаю стек, описывающий, как вызывается обработчик сигнала.
Есть ли способ сбросить стек в заблокированном потоке с помощью libunwind?
Спасибо !!!