summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
author Ian Rogers <irogers@google.com> 2012-06-01 08:53:29 -0700
committer Ian Rogers <irogers@google.com> 2012-06-03 20:59:16 -0700
commitd237a3865c8c0c623fa5902b4927d95c77f85c38 (patch)
tree0f600df8563c06a7b225591d97e62b67e1bd75dd /src
parent9af209c9dcc6763fae2976981570a90aa41fd86b (diff)
Extra suspend count modification failure logging.
Change-Id: I18738c94f8abe7afec588f7b91685e2cbdf7eefc
Diffstat (limited to 'src')
-rw-r--r--src/thread_list.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/thread_list.cc b/src/thread_list.cc
index 45b79665c0..e8b412c291 100644
--- a/src/thread_list.cc
+++ b/src/thread_list.cc
@@ -75,8 +75,10 @@ void ThreadList::ModifySuspendCount(Thread* thread, int delta, bool for_debugger
#endif
if (delta == -1 && thread->suspend_count_ <= 0) {
// This is expected if you attach a thread during a GC.
- if (!thread->IsStillStarting()) {
- LOG(FATAL) << *thread << " suspend count already zero";
+ if (UNLIKELY(!thread->IsStillStarting())) {
+ std::ostringstream ss;
+ Runtime::Current()->GetThreadList()->DumpLocked(ss);
+ LOG(FATAL) << *thread << " suspend count already zero.\n" << ss.str();
}
return;
}