| Index: mojo/edk/util/mutex.cc
|
| diff --git a/mojo/edk/system/mutex.cc b/mojo/edk/util/mutex.cc
|
| similarity index 57%
|
| rename from mojo/edk/system/mutex.cc
|
| rename to mojo/edk/util/mutex.cc
|
| index 45f4389b923a6e4a9577b38214496070696b1aed..1f006df5beab22c1343e11ff16c45a8a1cff8651 100644
|
| --- a/mojo/edk/system/mutex.cc
|
| +++ b/mojo/edk/util/mutex.cc
|
| @@ -2,57 +2,56 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#include "mojo/edk/system/mutex.h"
|
| +#include "mojo/edk/util/mutex.h"
|
|
|
| #if !defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)
|
| #include <errno.h>
|
| -#include <string.h>
|
|
|
| -#include "base/logging.h"
|
| +#include "mojo/edk/util/logging_internal.h"
|
|
|
| namespace mojo {
|
| -namespace system {
|
| +namespace util {
|
|
|
| Mutex::Mutex() {
|
| pthread_mutexattr_t attr;
|
| int error = pthread_mutexattr_init(&attr);
|
| - DCHECK(!error) << "pthread_mutexattr_init: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error, "pthread_mutexattr_init", error);
|
| error = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
|
| - DCHECK(!error) << "pthread_mutexattr_settype: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error, "pthread_mutexattr_settype", error);
|
| error = pthread_mutex_init(&impl_, &attr);
|
| - DCHECK(!error) << "pthread_mutex_init: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error, "pthread_mutex_init", error);
|
| error = pthread_mutexattr_destroy(&attr);
|
| - DCHECK(!error) << "pthread_mutexattr_destroy: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error, "pthread_mutexattr_destroy", error);
|
| }
|
|
|
| Mutex::~Mutex() {
|
| int error = pthread_mutex_destroy(&impl_);
|
| - DCHECK(!error) << "pthread_mutex_destroy: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error, "pthread_mutex_destroy", error);
|
| }
|
|
|
| void Mutex::Lock() MOJO_EXCLUSIVE_LOCK_FUNCTION() {
|
| int error = pthread_mutex_lock(&impl_);
|
| - DCHECK(!error) << "pthread_mutex_lock: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error, "pthread_mutex_lock", error);
|
| }
|
|
|
| void Mutex::Unlock() MOJO_UNLOCK_FUNCTION() {
|
| int error = pthread_mutex_unlock(&impl_);
|
| - DCHECK(!error) << "pthread_mutex_unlock: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error, "pthread_mutex_unlock", error);
|
| }
|
|
|
| bool Mutex::TryLock() MOJO_EXCLUSIVE_TRYLOCK_FUNCTION(true) {
|
| int error = pthread_mutex_trylock(&impl_);
|
| - DCHECK(!error || error == EBUSY) << "pthread_mutex_trylock: "
|
| - << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(!error || error == EBUSY, "pthread_mutex_trylock",
|
| + error);
|
| return !error;
|
| }
|
|
|
| void Mutex::AssertHeld() MOJO_ASSERT_EXCLUSIVE_LOCK() {
|
| int error = pthread_mutex_lock(&impl_);
|
| - DCHECK_EQ(error, EDEADLK) << ". pthread_mutex_lock: " << strerror(error);
|
| + INTERNAL_DCHECK_WITH_ERRNO(error == EDEADLK, "pthread_mutex_lock", error);
|
| }
|
|
|
| -} // namespace system
|
| +} // namespace util
|
| } // namespace mojo
|
|
|
| #endif // !defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)
|
|
|