Fix a heap lock/thread list lock deadlock.
We had an uncaught OOME whose uncaught exception handler -- running
with the thread lock held -- was trying to cause a GC while some
other thread had the heap lock and was waiting for the thread list
lock.
Change-Id: I22177129562268837127d9edcc63ef5e93054bdf
diff --git a/src/heap.cc b/src/heap.cc
index 73b6640..d9db50b 100644
--- a/src/heap.cc
+++ b/src/heap.cc
@@ -584,6 +584,10 @@
SetIdealFootprint(target_size);
}
+uint32_t Heap::GetLockOwner() {
+ return lock_->GetOwner();
+}
+
void Heap::Lock() {
// Grab the lock, but put ourselves into Thread::kVmWait if it looks
// like we're going to have to wait on the mutex. This prevents