Detect over-long thread suspends and time out fatally.
Bug: 5726434
Change-Id: Ib7d4429c2b195f59133bb6dc7f9072b705c53e82
diff --git a/src/signal_catcher.cc b/src/signal_catcher.cc
index d0cfe95..9031c5e 100644
--- a/src/signal_catcher.cc
+++ b/src/signal_catcher.cc
@@ -148,18 +148,8 @@
// actually do what they want us to do...
LOG(INFO) << *thread_ << ": reacting to signal " << signal_number;
- // If anyone's holding locks (and so we might fail to get back into state Runnable), say so...
- ClassLinker* class_linker = Runtime::Current()->GetClassLinker();
- pid_t heap_lock_owner = Heap::GetLockOwner();
- pid_t thread_list_lock_owner = Runtime::Current()->GetThreadList()->GetLockOwner();
- pid_t classes_lock_owner = class_linker->GetClassesLockOwner();
- pid_t dex_lock_owner = class_linker->GetDexLockOwner();
- if ((heap_lock_owner | thread_list_lock_owner | classes_lock_owner | dex_lock_owner) != 0) {
- LOG(INFO) << "Heap lock owner tid: " << heap_lock_owner << "\n"
- << "ThreadList lock owner tid: " << thread_list_lock_owner << "\n"
- << "ClassLinker classes lock owner tid: " << classes_lock_owner << "\n"
- << "ClassLinker dex lock owner tid: " << dex_lock_owner << "\n";
- }
+ // If anyone's holding locks (which might prevent us from getting back into state Runnable), say so...
+ Runtime::Current()->DumpLockHolders(LOG(INFO));
}
return signal_number;