23#ifndef MY_XP_MUTEX_INCLUDED
24#define MY_XP_MUTEX_INCLUDED
101#ifndef XCOM_STANDALONE
119#ifndef XCOM_STANDALONE
Definition: my_xp_mutex.h:122
~My_xp_mutex_impl() override=default
My_xp_mutex_impl()=default
Definition: my_xp_mutex.h:102
int trylock() override
Trylock mutex.
Definition: my_xp_mutex.cc:44
int destroy() override
Destroy mutex.
Definition: my_xp_mutex.cc:40
int lock() override
Lock mutex.
Definition: my_xp_mutex.cc:42
int unlock() override
Unlock mutex.
Definition: my_xp_mutex.cc:46
My_xp_mutex_server()
Definition: my_xp_mutex.cc:26
mysql_mutex_t * get_native_mutex() override
To get native mutex reference.
Definition: my_xp_mutex.cc:31
int init(PSI_mutex_key key, const native_mutexattr_t *attr) override
Initialize mutex.
Definition: my_xp_mutex.cc:33
~My_xp_mutex_server() override
Definition: my_xp_mutex.cc:29
mysql_mutex_t * m_mutex
Definition: my_xp_mutex.h:115
Definition: my_xp_mutex.h:128
static int attr_destroy(native_mutexattr_t *attr)
Destroy mutex attributes object.
Definition: my_xp_mutex.cc:61
static int attr_init(native_mutexattr_t *attr)
Initialize mutex attributes object.
Definition: my_xp_mutex.cc:49
Abstract class used to wrap mutex for various implementations.
Definition: my_xp_mutex.h:46
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:51
Instrumentation helpers for mutexes.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:49
pthread_mutexattr_t native_mutexattr_t
Definition: thr_mutex_bits.h:55