diff options
author | Christopher Ferris <cferris@google.com> | 2014-11-03 20:23:55 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-03 20:23:55 +0000 |
commit | d4c7a1cfad22a55d31b6a27b859fb534194fb0e4 (patch) | |
tree | bf831c1dc921c1cf1f12dfbcb26bb2b3dc7eb4c2 /debuggerd/tombstone.cpp | |
parent | 359d58dc0f54d1ca0ee8789b4b7611bbb50bbda5 (diff) | |
parent | a11ac45536f0722becefccdb6b58378c5d9d0d4b (diff) | |
download | system_core-d4c7a1cfad22a55d31b6a27b859fb534194fb0e4.zip system_core-d4c7a1cfad22a55d31b6a27b859fb534194fb0e4.tar.gz system_core-d4c7a1cfad22a55d31b6a27b859fb534194fb0e4.tar.bz2 |
am a11ac455: Merge "Fix debuggerd issues."
* commit 'a11ac45536f0722becefccdb6b58378c5d9d0d4b':
Fix debuggerd issues.
Diffstat (limited to 'debuggerd/tombstone.cpp')
-rw-r--r-- | debuggerd/tombstone.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/debuggerd/tombstone.cpp b/debuggerd/tombstone.cpp index a7e1524..0c1b80f 100644 --- a/debuggerd/tombstone.cpp +++ b/debuggerd/tombstone.cpp @@ -374,11 +374,7 @@ static void dump_nearby_maps(BacktraceMap* map, log_t* log, pid_t tid) { } } -static void dump_thread( - Backtrace* backtrace, log_t* log, int* total_sleep_time_usec) { - - wait_for_stop(backtrace->Tid(), total_sleep_time_usec); - +static void dump_thread(Backtrace* backtrace, log_t* log) { dump_registers(log, backtrace->Tid()); dump_backtrace_and_stack(backtrace, log); @@ -421,13 +417,17 @@ static bool dump_sibling_thread_report( continue; } + if (wait_for_sigstop(new_tid, total_sleep_time_usec, &detach_failed) == -1) { + continue; + } + log->current_tid = new_tid; _LOG(log, logtype::THREAD, "--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n"); dump_thread_info(log, pid, new_tid); UniquePtr<Backtrace> backtrace(Backtrace::Create(pid, new_tid, map)); if (backtrace->Unwind(0)) { - dump_thread(backtrace.get(), log, total_sleep_time_usec); + dump_thread(backtrace.get(), log); } log->current_tid = log->crashed_tid; @@ -628,7 +628,7 @@ static bool dump_crash(log_t* log, pid_t pid, pid_t tid, int signal, int si_code UniquePtr<Backtrace> backtrace(Backtrace::Create(pid, tid, map.get())); if (backtrace->Unwind(0)) { dump_abort_message(backtrace.get(), log, abort_msg_address); - dump_thread(backtrace.get(), log, total_sleep_time_usec); + dump_thread(backtrace.get(), log); } if (want_logs) { |