17 INLINE ReMutexDirect::
19 #ifndef HAVE_REMUTEXTRUEIMPL 20 : _cvar_impl(_lock_impl)
23 #ifndef HAVE_REMUTEXTRUEIMPL 24 _locking_thread =
nullptr;
35 TAU_PROFILE(
"void ReMutexDirect::acquire()",
" ", TAU_USER);
36 #ifdef HAVE_REMUTEXTRUEIMPL 40 #endif // HAVE_REMUTEXTRUEIMPL 49 TAU_PROFILE(
"void ReMutexDirect::try_acquire()",
" ", TAU_USER);
50 #ifdef HAVE_REMUTEXTRUEIMPL 51 return _impl.try_lock();
54 #endif // HAVE_REMUTEXTRUEIMPL 63 TAU_PROFILE(
"void ReMutexDirect::unlock()",
" ", TAU_USER);
64 #ifdef HAVE_REMUTEXTRUEIMPL 68 #endif // HAVE_REMUTEXTRUEIMPL 83 TAU_PROFILE(
"void ReMutexDirect::acquire()",
" ", TAU_USER);
84 #ifdef HAVE_REMUTEXTRUEIMPL 88 #endif // HAVE_REMUTEXTRUEIMPL 97 TAU_PROFILE(
"void ReMutexDirect::acquire(Thread *)",
" ", TAU_USER);
98 #ifdef HAVE_REMUTEXTRUEIMPL 102 #endif // HAVE_REMUTEXTRUEIMPL 111 TAU_PROFILE(
"void ReMutexDirect::acquire(bool)",
" ", TAU_USER);
112 #ifdef HAVE_REMUTEXTRUEIMPL 113 return _impl.try_lock();
116 #endif // HAVE_REMUTEXTRUEIMPL 125 TAU_PROFILE(
"void ReMutexDirect::acquire(bool)",
" ", TAU_USER);
126 #ifdef HAVE_REMUTEXTRUEIMPL 127 return _impl.try_lock();
130 #endif // HAVE_REMUTEXTRUEIMPL 145 TAU_PROFILE(
"void ReMutexDirect::elevate_lock()",
" ", TAU_USER);
146 #ifdef HAVE_REMUTEXTRUEIMPL 150 #endif // HAVE_REMUTEXTRUEIMPL 162 TAU_PROFILE(
"void ReMutexDirect::release()",
" ", TAU_USER);
163 #ifdef HAVE_REMUTEXTRUEIMPL 167 #endif // HAVE_REMUTEXTRUEIMPL 208 return std::string();
211 #ifndef HAVE_REMUTEXTRUEIMPL 218 INLINE
void ReMutexDirect::
220 do_lock(Thread::get_current_thread());
224 #ifndef HAVE_REMUTEXTRUEIMPL 231 INLINE
bool ReMutexDirect::
233 return do_try_lock(Thread::get_current_thread());
bool try_lock()
Alias for try_acquire() to match C++11 semantics.
bool has_name() const
The mutex name is only defined when compiling in DEBUG_THREADS mode.
bool try_acquire() const
Returns immediately, with a true value indicating the mutex has been acquired, and false indicating i...
void acquire() const
Grabs the reMutex if it is available.
void release() const
Releases the reMutex.
void set_name(const std::string &name)
The mutex name is only defined when compiling in DEBUG_THREADS mode.
void lock()
Alias for acquire() to match C++11 semantics.
std::string get_name() const
The mutex name is only defined when compiling in DEBUG_THREADS mode.
void clear_name()
The mutex name is only defined when compiling in DEBUG_THREADS mode.
This class implements a standard reMutex by making direct calls to the underlying implementation laye...
bool debug_is_locked() const
Returns true if the current thread has locked the ReMutex, false otherwise.
void unlock()
Alias for release() to match C++11 semantics.
A thread; that is, a lightweight process.
void elevate_lock() const
This method increments the lock count, assuming the calling thread already holds the lock.