diff options
-rw-r--r-- | base/synchronization/lock_impl.h | 23 | ||||
-rw-r--r-- | base/synchronization/lock_impl_posix.cc | 24 |
2 files changed, 0 insertions, 47 deletions
diff --git a/base/synchronization/lock_impl.h b/base/synchronization/lock_impl.h index 1dcf6a4..63efc5ff 100644 --- a/base/synchronization/lock_impl.h +++ b/base/synchronization/lock_impl.h @@ -17,18 +17,6 @@ #include "base/base_export.h" #include "base/basictypes.h" -#if defined(OS_MACOSX) && !defined(NDEBUG) -// For Mac debug builds, do some extra checks to make sure a LockImpl is not -// used after it has been freed. This instrumentation is to help track down -// spurious locking errors (EINVAL) which are happening on the bots. -// In particular, I want to make sure they aren't a consequence of having -// used a freed lock object (which can happen for instance when trying to -// post tasks to a destroyed MessageLoop). -// See http://crbug.com/102161 for more details. This instrumentation can be -// removed once that bug has been identified. -#define LOCK_IMPL_CHECK_LIVENESS -#endif - namespace base { namespace internal { @@ -65,17 +53,6 @@ class BASE_EXPORT LockImpl { #endif private: -#ifdef LOCK_IMPL_CHECK_LIVENESS - enum LivenessToken { - LT_ALIVE = 0xCa11ab1e, // 3390155550 - LT_DELETED = 0xDecea5ed, // 3738084845 - }; - - void CheckIsAlive(); - - LivenessToken liveness_token_; -#endif // LOCK_IMPL_CHECK_LIVENESS - OSLockType os_lock_; DISALLOW_COPY_AND_ASSIGN(LockImpl); diff --git a/base/synchronization/lock_impl_posix.cc b/base/synchronization/lock_impl_posix.cc index 8db953a..f638fcd 100644 --- a/base/synchronization/lock_impl_posix.cc +++ b/base/synchronization/lock_impl_posix.cc @@ -12,10 +12,6 @@ namespace base { namespace internal { LockImpl::LockImpl() { -#ifdef LOCK_IMPL_CHECK_LIVENESS - liveness_token_ = LT_ALIVE; -#endif - #ifndef NDEBUG // In debug, setup attributes for lock error checking. pthread_mutexattr_t mta; @@ -34,45 +30,25 @@ LockImpl::LockImpl() { } LockImpl::~LockImpl() { -#ifdef LOCK_IMPL_CHECK_LIVENESS - CheckIsAlive(); - liveness_token_ = LT_DELETED; -#endif int rv = pthread_mutex_destroy(&os_lock_); DCHECK_EQ(rv, 0); } bool LockImpl::Try() { -#ifdef LOCK_IMPL_CHECK_LIVENESS - CheckIsAlive(); -#endif int rv = pthread_mutex_trylock(&os_lock_); DCHECK(rv == 0 || rv == EBUSY); return rv == 0; } void LockImpl::Lock() { -#ifdef LOCK_IMPL_CHECK_LIVENESS - CheckIsAlive(); -#endif int rv = pthread_mutex_lock(&os_lock_); DCHECK_EQ(rv, 0); } void LockImpl::Unlock() { -#ifdef LOCK_IMPL_CHECK_LIVENESS - CheckIsAlive(); -#endif int rv = pthread_mutex_unlock(&os_lock_); DCHECK_EQ(rv, 0); } -#ifdef LOCK_IMPL_CHECK_LIVENESS -void LockImpl::CheckIsAlive() { - CHECK_EQ(LT_ALIVE, liveness_token_) - << "Lock was invalid. Please see: http://crbug.com/102161"; -} -#endif - } // namespace internal } // namespace base |