summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2014-12-16 01:33:07 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-12-16 01:33:07 +0000
commit50d55c65f3096bccbccddef3aa734ee15647cbe5 (patch)
tree51f4f2a694627cace4b65c7018a47c994db44bfd
parent5b6912e455da798a79a4bb3235e276351b38ab58 (diff)
parenteb0a179508f3c0533dd7db86ec7ab9dfa3773256 (diff)
Merge "Add more logging to Mutex::ExclusiveUnlock"
-rw-r--r--runtime/base/mutex.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/runtime/base/mutex.cc b/runtime/base/mutex.cc
index da78082f85..a4eb318d4c 100644
--- a/runtime/base/mutex.cc
+++ b/runtime/base/mutex.cc
@@ -434,7 +434,17 @@ bool Mutex::ExclusiveTryLock(Thread* self) {
}
void Mutex::ExclusiveUnlock(Thread* self) {
- DCHECK(self == NULL || self == Thread::Current());
+ if (kIsDebugBuild && self != nullptr && self != Thread::Current()) {
+ std::string name1 = "<null>";
+ std::string name2 = "<null>";
+ if (self != nullptr) {
+ self->GetThreadName(name1);
+ }
+ if (Thread::Current() != nullptr) {
+ Thread::Current()->GetThreadName(name2);
+ }
+ LOG(FATAL) << name1 << " " << name2;
+ }
AssertHeld(self);
DCHECK_NE(exclusive_owner_, 0U);
recursion_count_--;