MySQL 8.3.0
Source Code Documentation
LO_rwlock Class Referenceabstract
Inheritance diagram for LO_rwlock:
[legend]

Public Member Functions

 LO_rwlock (const LO_rwlock_class *klass)
 
virtual ~LO_rwlock ()=default
 
virtual LO_rwlock_lockbuild_lock (const char *src_file, int src_line, LO_thread *thread)=0
 
const LO_rwlock_classget_class () const
 
void add_lock (LO_rwlock_lock *lock)
 
void remove_lock (LO_rwlock_lock *lock)
 

Static Public Member Functions

static PSI_rwlockto_psi (LO_rwlock *lo)
 
static LO_rwlockfrom_psi (PSI_rwlock *psi)
 

Public Attributes

struct LO_rwlock_proxy m_proxy
 
PSI_rwlockm_chain
 

Private Attributes

const LO_rwlock_classm_class
 
LO_rwlock_lock_list m_rwlock_locks
 

Constructor & Destructor Documentation

◆ LO_rwlock()

LO_rwlock::LO_rwlock ( const LO_rwlock_class klass)
inlineexplicit

◆ ~LO_rwlock()

virtual LO_rwlock::~LO_rwlock ( )
virtualdefault

Member Function Documentation

◆ add_lock()

void LO_rwlock::add_lock ( LO_rwlock_lock lock)

◆ build_lock()

virtual LO_rwlock_lock * LO_rwlock::build_lock ( const char *  src_file,
int  src_line,
LO_thread thread 
)
pure virtual

Implemented in LO_rwlock_pr, LO_rwlock_rw, and LO_rwlock_sx.

◆ from_psi()

static LO_rwlock * LO_rwlock::from_psi ( PSI_rwlock psi)
inlinestatic

◆ get_class()

const LO_rwlock_class * LO_rwlock::get_class ( ) const
inline

◆ remove_lock()

void LO_rwlock::remove_lock ( LO_rwlock_lock lock)

◆ to_psi()

static PSI_rwlock * LO_rwlock::to_psi ( LO_rwlock lo)
inlinestatic

Member Data Documentation

◆ m_chain

PSI_rwlock* LO_rwlock::m_chain

◆ m_class

const LO_rwlock_class* LO_rwlock::m_class
private

◆ m_proxy

struct LO_rwlock_proxy LO_rwlock::m_proxy

◆ m_rwlock_locks

LO_rwlock_lock_list LO_rwlock::m_rwlock_locks
private

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