MySQL 8.3.0
Source Code Documentation
LO_thread Class Reference

Public Member Functions

 LO_thread (const LO_thread_class *klass)
 
 ~LO_thread ()
 
void check_locks (const LO_mutex_lock *new_lock)
 
void check_locks (const LO_rwlock_lock *new_lock, PSI_rwlock_operation op)
 
void check_locks (const LO_file_class *new_file)
 
void check_cond_wait (const LO_cond_wait *new_lock)
 
void check_signal_broadcast (const char *operation, LO_cond *cond)
 
void check_destroy ()
 
void print_all_locks (FILE *out)
 
void print_mutex_locks (FILE *out)
 
void print_rwlock_locks (FILE *out)
 
void dump (FILE *out) const
 
bool satisfy_constraint (const char *constraint)
 
bool satisfy_mutex_constraint (const char *constraint)
 
bool satisfy_rwlock_constraint (const char *constraint)
 
const LO_thread_classget_class () const
 
void set_statement_text (const char *text, int length)
 
const char * get_statement_text (int *length)
 
size_t new_event_id ()
 
void clear_all_locks ()
 
void set_runaway ()
 

Static Public Member Functions

static PSI_threadto_psi (LO_thread *lo)
 
static LO_threadfrom_psi (PSI_thread *psi)
 
static void dump (FILE *out, LO_thread *thread)
 
static void add_mutex_lock (LO_thread *thread, LO_mutex *mutex, const char *src_file, int src_line)
 
static void remove_mutex_lock (LO_thread *thread, LO_mutex *mutex)
 
static void add_rwlock_lock (LO_thread *thread, LO_rwlock *rwlock, PSI_rwlock_operation op, const char *src_file, int src_line)
 
static void remove_rwlock_lock (LO_thread *thread, LO_rwlock *rwlock, PSI_rwlock_operation unlock_op)
 

Public Attributes

PSI_threadm_chain
 

Static Public Attributes

static LO_thread_list g_threads
 

Private Attributes

bool m_runaway
 
const LO_thread_classm_class
 
LO_mutex_lock_list m_mutex_locks
 
LO_rwlock_lock_list m_rwlock_locks
 
const char * m_statement_text
 
int m_statement_text_length
 
size_t m_event_counter
 

Constructor & Destructor Documentation

◆ LO_thread()

LO_thread::LO_thread ( const LO_thread_class klass)
inlineexplicit

◆ ~LO_thread()

LO_thread::~LO_thread ( )

Member Function Documentation

◆ add_mutex_lock()

void LO_thread::add_mutex_lock ( LO_thread thread,
LO_mutex mutex,
const char *  src_file,
int  src_line 
)
static

◆ add_rwlock_lock()

void LO_thread::add_rwlock_lock ( LO_thread thread,
LO_rwlock rwlock,
PSI_rwlock_operation  op,
const char *  src_file,
int  src_line 
)
static

◆ check_cond_wait()

void LO_thread::check_cond_wait ( const LO_cond_wait new_lock)

◆ check_destroy()

void LO_thread::check_destroy ( )

◆ check_locks() [1/3]

void LO_thread::check_locks ( const LO_file_class new_file)

◆ check_locks() [2/3]

void LO_thread::check_locks ( const LO_mutex_lock new_lock)

◆ check_locks() [3/3]

void LO_thread::check_locks ( const LO_rwlock_lock new_lock,
PSI_rwlock_operation  op 
)

◆ check_signal_broadcast()

void LO_thread::check_signal_broadcast ( const char *  operation,
LO_cond cond 
)

◆ clear_all_locks()

void LO_thread::clear_all_locks ( )

◆ dump() [1/2]

void LO_thread::dump ( FILE *  out) const

◆ dump() [2/2]

void LO_thread::dump ( FILE *  out,
LO_thread thread 
)
static

◆ from_psi()

static LO_thread * LO_thread::from_psi ( PSI_thread psi)
inlinestatic

◆ get_class()

const LO_thread_class * LO_thread::get_class ( ) const
inline

◆ get_statement_text()

const char * LO_thread::get_statement_text ( int *  length)
inline

◆ new_event_id()

size_t LO_thread::new_event_id ( )
inline

◆ print_all_locks()

void LO_thread::print_all_locks ( FILE *  out)

◆ print_mutex_locks()

void LO_thread::print_mutex_locks ( FILE *  out)

◆ print_rwlock_locks()

void LO_thread::print_rwlock_locks ( FILE *  out)

◆ remove_mutex_lock()

void LO_thread::remove_mutex_lock ( LO_thread thread,
LO_mutex mutex 
)
static

◆ remove_rwlock_lock()

void LO_thread::remove_rwlock_lock ( LO_thread thread,
LO_rwlock rwlock,
PSI_rwlock_operation  unlock_op 
)
static

◆ satisfy_constraint()

bool LO_thread::satisfy_constraint ( const char *  constraint)

◆ satisfy_mutex_constraint()

bool LO_thread::satisfy_mutex_constraint ( const char *  constraint)

◆ satisfy_rwlock_constraint()

bool LO_thread::satisfy_rwlock_constraint ( const char *  constraint)

◆ set_runaway()

void LO_thread::set_runaway ( )

◆ set_statement_text()

void LO_thread::set_statement_text ( const char *  text,
int  length 
)
inline

◆ to_psi()

static PSI_thread * LO_thread::to_psi ( LO_thread lo)
inlinestatic

Member Data Documentation

◆ g_threads

LO_thread_list LO_thread::g_threads
static

◆ m_chain

PSI_thread* LO_thread::m_chain

◆ m_class

const LO_thread_class* LO_thread::m_class
private

◆ m_event_counter

size_t LO_thread::m_event_counter
private

◆ m_mutex_locks

LO_mutex_lock_list LO_thread::m_mutex_locks
private

◆ m_runaway

bool LO_thread::m_runaway
private

◆ m_rwlock_locks

LO_rwlock_lock_list LO_thread::m_rwlock_locks
private

◆ m_statement_text

const char* LO_thread::m_statement_text
private

◆ m_statement_text_length

int LO_thread::m_statement_text_length
private

The documentation for this class was generated from the following file: