1#ifndef PARTITIONED_RWLOCK_INCLUDED 
    2#define PARTITIONED_RWLOCK_INCLUDED 
   68    for (uint i = 0; i < 
m_parts; ++i)
 
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