diff options
Diffstat (limited to 'base/lock_impl_posix.cc')
-rw-r--r-- | base/lock_impl_posix.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/base/lock_impl_posix.cc b/base/lock_impl_posix.cc index a6da57d..6c70436 100644 --- a/base/lock_impl_posix.cc +++ b/base/lock_impl_posix.cc @@ -9,15 +9,21 @@ #include "base/logging.h" LockImpl::LockImpl() { +#ifndef NDEBUG + // In debug, setup attributes for lock error checking. pthread_mutexattr_t mta; int rv = pthread_mutexattr_init(&mta); DCHECK(rv == 0); - //rv = pthread_mutexattr_settype(&mta, PTHREAD_MUTEX_RECURSIVE); + rv = pthread_mutexattr_settype(&mta, PTHREAD_MUTEX_ERRORCHECK); DCHECK(rv == 0); rv = pthread_mutex_init(&os_lock_, &mta); DCHECK(rv == 0); rv = pthread_mutexattr_destroy(&mta); DCHECK(rv == 0); +#else + // In release, go with the default lock attributes. + pthread_mutex_init(&os_lock_, NULL); +#endif } LockImpl::~LockImpl() { |