Index: base/synchronization/lock.cc |
diff --git a/base/synchronization/lock.cc b/base/synchronization/lock.cc |
index 6445ce8a853d591bb3a8a2aca63ef0fa2f6b796b..49efbe926517342f079959386c2103295ddda0f9 100644 |
--- a/base/synchronization/lock.cc |
+++ b/base/synchronization/lock.cc |
@@ -13,9 +13,16 @@ |
namespace base { |
+const PlatformThreadId kNoThreadId = static_cast<PlatformThreadId>(0); |
+ |
Lock::Lock() : lock_() { |
owned_by_thread_ = false; |
- owning_thread_id_ = static_cast<PlatformThreadId>(0); |
+ owning_thread_id_ = kNoThreadId; |
+} |
+ |
+Lock::~Lock() { |
+ DCHECK(!owned_by_thread_); |
+ DCHECK_EQ(kNoThreadId, owning_thread_id_); |
} |
void Lock::AssertAcquired() const { |
@@ -27,7 +34,7 @@ void Lock::CheckHeldAndUnmark() { |
DCHECK(owned_by_thread_); |
DCHECK_EQ(owning_thread_id_, PlatformThread::CurrentId()); |
owned_by_thread_ = false; |
- owning_thread_id_ = static_cast<PlatformThreadId>(0); |
+ owning_thread_id_ = kNoThreadId; |
} |
void Lock::CheckUnheldAndMark() { |