21 INLINE ReMutexDirect::
23 #ifndef HAVE_REMUTEXTRUEIMPL 24 : _cvar_impl(_lock_impl)
27 #ifndef HAVE_REMUTEXTRUEIMPL 28 _locking_thread = NULL;
38 INLINE ReMutexDirect::
47 INLINE ReMutexDirect::
49 #ifndef HAVE_REMUTEXTRUEIMPL 50 : _cvar_impl(_lock_impl)
61 INLINE
void ReMutexDirect::
83 TAU_PROFILE(
"void ReMutexDirect::acquire()",
" ", TAU_USER);
84 #ifdef HAVE_REMUTEXTRUEIMPL 88 #endif // HAVE_REMUTEXTRUEIMPL 100 TAU_PROFILE(
"void ReMutexDirect::acquire(Thread *)",
" ", TAU_USER);
101 #ifdef HAVE_REMUTEXTRUEIMPL 105 #endif // HAVE_REMUTEXTRUEIMPL 117 TAU_PROFILE(
"void ReMutexDirect::acquire(bool)",
" ", TAU_USER);
118 #ifdef HAVE_REMUTEXTRUEIMPL 122 #endif // HAVE_REMUTEXTRUEIMPL 134 TAU_PROFILE(
"void ReMutexDirect::acquire(bool)",
" ", TAU_USER);
135 #ifdef HAVE_REMUTEXTRUEIMPL 138 return ((
ReMutexDirect *)
this)->do_try_acquire(current_thread);
139 #endif // HAVE_REMUTEXTRUEIMPL 159 TAU_PROFILE(
"void ReMutexDirect::elevate_lock()",
" ", TAU_USER);
160 #ifdef HAVE_REMUTEXTRUEIMPL 164 #endif // HAVE_REMUTEXTRUEIMPL 179 TAU_PROFILE(
"void ReMutexDirect::release()",
" ", TAU_USER);
180 #ifdef HAVE_REMUTEXTRUEIMPL 184 #endif // HAVE_REMUTEXTRUEIMPL 244 #ifndef HAVE_REMUTEXTRUEIMPL 254 INLINE
void ReMutexDirect::
260 #ifndef HAVE_REMUTEXTRUEIMPL 270 INLINE
bool ReMutexDirect::
bool has_name() const
The mutex name is only defined when compiling in DEBUG_THREADS mode.
string get_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 set_name(const string &name)
The mutex name is only defined when compiling in DEBUG_THREADS mode.
void release() const
Releases the reMutex.
static Thread * 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.
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.
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...