MySQL 8.4.0
Source Code Documentation
mysql_rwlock.h File Reference

Instrumentation helpers for rwlock. More...

Go to the source code of this file.

Macros

#define mysql_prlock_assert_write_owner(M)    {}
 Drop-in replacement for rw_pr_lock_assert_write_owner. More...
 
#define mysql_prlock_assert_not_write_owner(M)    {}
 Drop-in replacement for rw_pr_lock_assert_not_write_owner. More...
 
#define mysql_rwlock_register(P1, P2, P3)    inline_mysql_rwlock_register(P1, P2, P3)
 Rwlock registration. More...
 
#define mysql_rwlock_init(K, T)    mysql_rwlock_init_with_src(K, T, __FILE__, __LINE__)
 Instrumented rwlock_init. More...
 
#define mysql_rwlock_init_with_src(K, T, F, L)    inline_mysql_rwlock_init(K, T, F, L)
 
#define mysql_prlock_init(K, T)    mysql_prlock_init_with_src(K, T, __FILE__, __LINE__)
 Instrumented rw_pr_init. More...
 
#define mysql_prlock_init_with_src(K, T, F, L)    inline_mysql_prlock_init(K, T, F, L)
 
#define mysql_rwlock_destroy(T)    mysql_rwlock_destroy_with_src(T, __FILE__, __LINE__)
 Instrumented rwlock_destroy. More...
 
#define mysql_rwlock_destroy_with_src(T, F, L)    inline_mysql_rwlock_destroy(T, F, L)
 
#define mysql_prlock_destroy(T)    mysql_prlock_destroy_with_src(T, __FILE__, __LINE__)
 Instrumented rw_pr_destroy. More...
 
#define mysql_prlock_destroy_with_src(T, F, L)    inline_mysql_prlock_destroy(T, F, L)
 
#define mysql_rwlock_rdlock(T)    mysql_rwlock_rdlock_with_src(T, __FILE__, __LINE__)
 Instrumented rwlock_rdlock. More...
 
#define mysql_rwlock_rdlock_with_src(T, F, L)    inline_mysql_rwlock_rdlock(T, F, L)
 
#define mysql_prlock_rdlock(T)    mysql_prlock_rdlock_with_src(T, __FILE__, __LINE__)
 Instrumented rw_pr_rdlock. More...
 
#define mysql_prlock_rdlock_with_src(T, F, L)    inline_mysql_prlock_rdlock(T, F, L)
 
#define mysql_rwlock_wrlock(T)    mysql_rwlock_wrlock_with_src(T, __FILE__, __LINE__)
 Instrumented rwlock_wrlock. More...
 
#define mysql_rwlock_wrlock_with_src(T, F, L)    inline_mysql_rwlock_wrlock(T, F, L)
 
#define mysql_prlock_wrlock(T)    mysql_prlock_wrlock_with_src(T, __FILE__, __LINE__)
 Instrumented rw_pr_wrlock. More...
 
#define mysql_prlock_wrlock_with_src(T, F, L)    inline_mysql_prlock_wrlock(T, F, L)
 
#define mysql_rwlock_tryrdlock(T)    mysql_rwlock_tryrdlock_with_src(T, __FILE__, __LINE__)
 Instrumented rwlock_tryrdlock. More...
 
#define mysql_rwlock_tryrdlock_with_src(T, F, L)    inline_mysql_rwlock_tryrdlock(T, F, L)
 
#define mysql_rwlock_trywrlock(T)    mysql_rwlock_trywrlock_with_src(T, __FILE__, __LINE__)
 Instrumented rwlock_trywrlock. More...
 
#define mysql_rwlock_trywrlock_with_src(T, F, L)    inline_mysql_rwlock_trywrlock(T, F, L)
 
#define mysql_rwlock_unlock(T)    mysql_rwlock_unlock_with_src(T, __FILE__, __LINE__)
 Instrumented rwlock_unlock. More...
 
#define mysql_rwlock_unlock_with_src(T, F, L)    inline_mysql_rwlock_unlock(T, F, L)
 
#define mysql_prlock_unlock(T)    mysql_prlock_unlock_with_src(T, __FILE__, __LINE__)
 Instrumented rw_pr_unlock. More...
 
#define mysql_prlock_unlock_with_src(T, F, L)    inline_mysql_prlock_unlock(T, F, L)
 

Functions

static void inline_mysql_rwlock_register (const char *category, PSI_rwlock_info *info, int count)
 
static int inline_mysql_rwlock_init (PSI_rwlock_key key, mysql_rwlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_prlock_init (PSI_rwlock_key key, mysql_prlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_rwlock_destroy (mysql_rwlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_prlock_destroy (mysql_prlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_rwlock_rdlock (mysql_rwlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_prlock_rdlock (mysql_prlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_rwlock_wrlock (mysql_rwlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_prlock_wrlock (mysql_prlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_rwlock_tryrdlock (mysql_rwlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_rwlock_trywrlock (mysql_rwlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_rwlock_unlock (mysql_rwlock_t *that, const char *src_file, int src_line)
 
static int inline_mysql_prlock_unlock (mysql_prlock_t *that, const char *src_file, int src_line)
 

Detailed Description

Instrumentation helpers for rwlock.