summaryrefslogtreecommitdiffstats
path: root/base/lock_impl_posix.cc
diff options
context:
space:
mode:
Diffstat (limited to 'base/lock_impl_posix.cc')
-rw-r--r--base/lock_impl_posix.cc8
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() {