Go to the documentation of this file.
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::
224 #ifndef HAVE_REMUTEXTRUEIMPL
231 INLINE
bool ReMutexDirect::
void set_name(const std::string &name)
The mutex name is only defined when compiling in DEBUG_THREADS mode.
bool has_name() const
The mutex name is only defined when compiling in DEBUG_THREADS mode.
void unlock()
Alias for release() to match C++11 semantics.
void lock()
Alias for acquire() to match C++11 semantics.
bool try_lock()
Alias for try_acquire() to match C++11 semantics.
bool debug_is_locked() const
Returns true if the current thread has locked the ReMutex, false otherwise.
bool try_acquire() const
Returns immediately, with a true value indicating the mutex has been acquired, and false indicating i...
This class implements a standard reMutex by making direct calls to the underlying implementation laye...
get_current_thread
Returns a pointer to the currently-executing Thread object.
void clear_name()
The mutex name is only defined when compiling in DEBUG_THREADS mode.
void elevate_lock() const
This method increments the lock count, assuming the calling thread already holds the lock.
void acquire() const
Grabs the reMutex if it is available.
void release() const
Releases the reMutex.
std::string get_name() const
The mutex name is only defined when compiling in DEBUG_THREADS mode.
A thread; that is, a lightweight process.