1#ifndef PARTITIONED_RWLOCK_INCLUDED
2#define PARTITIONED_RWLOCK_INCLUDED
Read lock guard class for Partitioned_rwlock.
Definition: partitioned_rwlock.h:105
Partitioned_rwlock_read_guard(const Partitioned_rwlock_read_guard &)
Partitioned_rwlock_read_guard(Partitioned_rwlock *rwlock, uint thread_id)
Acquires read lock on partitioned rwlock on behalf of thread.
Definition: partitioned_rwlock.h:111
Partitioned_rwlock * m_rwlock
Pointer to partitioned rwlock which was acquired.
Definition: partitioned_rwlock.h:131
uint m_thread_id
Id of thread on which behalf lock was acquired and which is to be used for unlocking.
Definition: partitioned_rwlock.h:136
~Partitioned_rwlock_read_guard()
Definition: partitioned_rwlock.h:116
Partitioned_rwlock_read_guard & operator=(const Partitioned_rwlock_read_guard &)
void unlock()
Release read lock.
Definition: partitioned_rwlock.h:121
Write lock guard class for Partitioned_rwlock.
Definition: partitioned_rwlock.h:148
Partitioned_rwlock_write_guard(Partitioned_rwlock *rwlock)
Acquires write lock on partitioned rwlock.
Definition: partitioned_rwlock.h:154
~Partitioned_rwlock_write_guard()
Definition: partitioned_rwlock.h:159
Partitioned_rwlock * m_rwlock
Pointer to partitioned rwlock which was acquired.
Definition: partitioned_rwlock.h:174
Partitioned_rwlock_write_guard & operator=(const Partitioned_rwlock_write_guard &)
void unlock()
Release write lock.
Definition: partitioned_rwlock.h:164
Partitioned_rwlock_write_guard(const Partitioned_rwlock_write_guard &)
Implementation of read-write lock partitioned by thread id.
Definition: partitioned_rwlock.h:50
Partitioned_rwlock(const Partitioned_rwlock &)
void wrlock()
Definition: partitioned_rwlock.h:76
bool init(uint parts, PSI_rwlock_key psi_key)
Definition: partitioned_rwlock.h:59
void wrunlock()
Definition: partitioned_rwlock.h:79
mysql_rwlock_t * m_locks_array
Definition: partitioned_rwlock.h:94
uint m_parts
Definition: partitioned_rwlock.h:95
Partitioned_rwlock()=default
void rdunlock(uint thread_id)
Definition: partitioned_rwlock.h:89
void destroy()
Definition: partitioned_rwlock.h:72
Partitioned_rwlock & operator=(const Partitioned_rwlock &)
void rdlock(uint thread_id)
Definition: partitioned_rwlock.h:82
#define mysql_rwlock_rdlock(T)
Definition: mysql_rwlock.h:61
#define mysql_rwlock_unlock(T)
Definition: mysql_rwlock.h:91
#define mysql_rwlock_init(K, T)
Definition: mysql_rwlock.h:41
#define mysql_rwlock_destroy(T)
Definition: mysql_rwlock.h:51
#define mysql_rwlock_wrlock(T)
Definition: mysql_rwlock.h:71
unsigned int PSI_rwlock_key
Instrumented rwlock key.
Definition: psi_rwlock_bits.h:44
Header for compiler-dependent features.
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
#define HAVE_PSI_INTERFACE
Definition: my_psi_config.h:39
static my_thread_id thread_id
Definition: my_thr_init.cc:63
Instrumentation helpers for rwlock.
An instrumented rwlock structure.
Definition: mysql_rwlock_bits.h:51
unsigned int uint
Definition: uca9-dump.cc:75