24#ifndef MY_XP_MUTEX_INCLUDED
25#define MY_XP_MUTEX_INCLUDED
102#ifndef XCOM_STANDALONE
120#ifndef XCOM_STANDALONE
Definition: my_xp_mutex.h:123
~My_xp_mutex_impl() override=default
My_xp_mutex_impl()=default
Definition: my_xp_mutex.h:103
int trylock() override
Trylock mutex.
Definition: my_xp_mutex.cc:45
int destroy() override
Destroy mutex.
Definition: my_xp_mutex.cc:41
int lock() override
Lock mutex.
Definition: my_xp_mutex.cc:43
int unlock() override
Unlock mutex.
Definition: my_xp_mutex.cc:47
My_xp_mutex_server()
Definition: my_xp_mutex.cc:27
mysql_mutex_t * get_native_mutex() override
To get native mutex reference.
Definition: my_xp_mutex.cc:32
int init(PSI_mutex_key key, const native_mutexattr_t *attr) override
Initialize mutex.
Definition: my_xp_mutex.cc:34
~My_xp_mutex_server() override
Definition: my_xp_mutex.cc:30
mysql_mutex_t * m_mutex
Definition: my_xp_mutex.h:116
Definition: my_xp_mutex.h:129
static int attr_destroy(native_mutexattr_t *attr)
Destroy mutex attributes object.
Definition: my_xp_mutex.cc:62
static int attr_init(native_mutexattr_t *attr)
Initialize mutex attributes object.
Definition: my_xp_mutex.cc:50
Abstract class used to wrap mutex for various implementations.
Definition: my_xp_mutex.h:47
virtual mysql_mutex_t * get_native_mutex()=0
To get native mutex reference.
virtual int destroy()=0
Destroy mutex.
virtual int unlock()=0
Unlock mutex.
virtual int init(PSI_mutex_key key, const native_mutexattr_t *attr)=0
Initialize mutex.
virtual int lock()=0
Lock mutex.
virtual ~My_xp_mutex()=default
virtual int trylock()=0
Trylock mutex.
unsigned int PSI_mutex_key
Instrumented mutex key.
Definition: psi_mutex_bits.h:52
Instrumentation helpers for mutexes.
required string key
Definition: replication_asynchronous_connection_failover.proto:60
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
pthread_mutexattr_t native_mutexattr_t
Definition: thr_mutex_bits.h:56