summaryrefslogtreecommitdiff
path: root/libbacktrace/ThreadEntry.cpp
AgeCommit message (Collapse)Author
2020-10-16Remove libprocinfo, libbacktrace, libunwindstackBaligh Uddin
These projects have moved to a different location. platform/system/core [libprocinfo] -> platform/system/libprocinfo platform/system/core [libbacktrace] -> platform/system/unwinding [libbacktrace] platform/system/core [libunwindstack] -> platform/system/unwinding [libunwindstack] BUG: 163786882 Test: Local build + TH Change-Id: Id6d278d917236df0ffd40b5c32593856e112cb5b
2017-05-04Use async safe logging in signal handlers.Christopher Ferris
Test: Boot on bullhead. Test: Ran the libbacktrace tests on bullhead. Test: Added a temporary log message in the signal handler, and ran the Test: backtrace tests. Change-Id: I0a6888c9f311af2c8cc7fbb4929315911bd2bb3c
2015-06-01Modify the code to avoid potential deadlocks.Christopher Ferris
If the signal to dump a thread is never delivered, then it's possible for a deadlock. The signal handler is responsible for unlocking and deleting the ThreadEntry created for the pid/tid combination. This means if the signal is lost, the ThreadEntry gets stuck locked and never deleted. If a second attempt to get a backtrace of this thread occurs, there is a deadlock. Also, decrease the timeout from 10 seconds to 5 seconds. The original 10 seconds was because the unwind was actually done in the signal handler. Now the signal handler does nothing but copy the ucontext structure and let the caller do the unwind. Bug: 21086132 Change-Id: Idc735dbf6147ec879d35bd4f034c5d227e26a98d
2015-03-31Refactor the code.Christopher Ferris
The object hierarchy was confusing and convoluted. This removes a lot of unnecessary code, and consolidates the BacktraceCurrent and BacktraceThread code into BacktraceCurrent. Change-Id: I01c8407d493712a48169df49dd3ff46db4a7c3ae