![]() |
MySQL 9.5.0
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.