1 #ifndef CARMA_UTIL_SCOPED_PTHREAD_MUTEX_LOCK_MANAGER_H
2 #define CARMA_UTIL_SCOPED_PTHREAD_MUTEX_LOCK_MANAGER_H
6 #include "carma/util/PthreadMutex.h"
7 #include "carma/util/posixErrors.h"
83 carma::util::ScopedPthreadMutexLockManager::ScopedPthreadMutexLockManager( PthreadMutex & mutex ) :
85 mutexIsLocked_( false )
91 carma::util::ScopedPthreadMutexLockManager::~ScopedPthreadMutexLockManager( )
94 logIfPosixError( mutex_.UnlockNoThrow( ) );
103 carma::util::ScopedPthreadMutexLockManager::LockMutex( )
109 mutexIsLocked_ =
true;
114 carma::util::ScopedPthreadMutexLockManager::TryLockMutex( )
118 bool result = mutex_.TryLock( );
121 mutexIsLocked_ =
true;
128 carma::util::ScopedPthreadMutexLockManager::UnlockMutex( )
134 mutexIsLocked_ =
false;
Header file for the CARMA checked build diagnostic macros.
#define CARMA_CHECK(assertion)
Diagnostic macro for checking an assertion in checked builds.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...