MySQL 8.0.40
Source Code Documentation
|
OS mutex for tracking lock/unlock for debugging. More...
#include <ib0mutex.h>
Public Types | |
typedef Policy< OSTrackMutex > | MutexPolicy |
Public Member Functions | |
OSTrackMutex (bool destroy_mutex_at_exit=true) 1 | |
~OSTrackMutex () 1 | |
void | init (latch_id_t id, const char *filename, uint32_t line) 1 |
Initialise the mutex. More... | |
void | destroy () 1 |
Destroy the mutex. More... | |
void | exit () 1 |
Release the mutex. More... | |
void | enter (uint32_t max_spins, uint32_t max_delay, const char *filename, uint32_t line) 1 |
Acquire the mutex. More... | |
void | lock () |
void | unlock () |
bool | try_lock () 1 |
bool | is_owned () const 1 |
MutexPolicy & | policy () 1 |
const MutexPolicy & | policy () const 1 |
Private Attributes | |
bool | m_freed |
true if the mutex has not be initialized More... | |
bool | m_locked |
true if the mutex has been locked. More... | |
bool | m_destroy_at_exit |
Do/Dont destroy mutex at exit. More... | |
OSMutex | m_mutex |
OS Mutex instance. More... | |
MutexPolicy | m_policy |
Policy data. More... | |
OS mutex for tracking lock/unlock for debugging.
typedef Policy<OSTrackMutex> OSTrackMutex< Policy >::MutexPolicy |
|
inlineexplicit |
|
inline |
|
inline |
Destroy the mutex.
|
inline |
Acquire the mutex.
[in] | max_spins | max number of spins |
[in] | max_delay | max delay per spin |
[in] | filename | from where called |
[in] | line | within filename |
|
inline |
Release the mutex.
|
inline |
Initialise the mutex.
[in] | id | Mutex ID |
[in] | filename | File where mutex was created |
[in] | line | Line in filename |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
Do/Dont destroy mutex at exit.
|
private |
true if the mutex has not be initialized
|
private |
true if the mutex has been locked.
|
private |
OS Mutex instance.
|
private |
Policy data.