diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-08 01:39:56 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-11-08 01:39:56 +0000 |
commit | e840891f945ceb5506ffaf3264b11c6d58584042 (patch) | |
tree | d4efd4d234dad6992504f43ac5b1f91dd1ebbc4b /base/synchronization | |
parent | 5e61437ea0d3c70a92d97747b2ba39b1df139e32 (diff) | |
download | chromium_src-e840891f945ceb5506ffaf3264b11c6d58584042.zip chromium_src-e840891f945ceb5506ffaf3264b11c6d58584042.tar.gz chromium_src-e840891f945ceb5506ffaf3264b11c6d58584042.tar.bz2 |
Revert 107835 (since the underlying issue has been identified and fixed) - Temporary instrumentation to help understand lock errors on mac debug bots.
BUG=102161
Review URL: http://codereview.chromium.org/8414031
TBR=eroman@chromium.org
Review URL: http://codereview.chromium.org/8497002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108963 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/synchronization')
-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 |