MySQL 8.0.39
Source Code Documentation
Collaboration diagram for Rwlock Instrumentation (API):

Classes

struct  mysql_rwlock_t
 An instrumented rwlock structure. More...
 
struct  mysql_prlock_t
 An instrumented prlock structure. More...
 

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

Macro Definition Documentation

◆ mysql_prlock_assert_not_write_owner

#define mysql_prlock_assert_not_write_owner (   M)     {}

Drop-in replacement for rw_pr_lock_assert_not_write_owner.

◆ mysql_prlock_assert_write_owner

#define mysql_prlock_assert_write_owner (   M)     {}

Drop-in replacement for rw_pr_lock_assert_write_owner.

◆ mysql_prlock_destroy

#define mysql_prlock_destroy (   T)     mysql_prlock_destroy_with_src(T, __FILE__, __LINE__)

Instrumented rw_pr_destroy.

mysql_prlock_destroy is a drop-in replacement for rw_pr_destroy.

◆ mysql_prlock_destroy_with_src

#define mysql_prlock_destroy_with_src (   T,
  F,
  L 
)     inline_mysql_prlock_destroy(T, F, L)

◆ mysql_prlock_init

#define mysql_prlock_init (   K,
 
)     mysql_prlock_init_with_src(K, T, __FILE__, __LINE__)

Instrumented rw_pr_init.

mysql_prlock_init is a replacement for rw_pr_init.

Parameters
KThe PSI_rwlock_key for this instrumented prlock
TThe prlock to initialize

◆ mysql_prlock_init_with_src

#define mysql_prlock_init_with_src (   K,
  T,
  F,
  L 
)     inline_mysql_prlock_init(K, T, F, L)

◆ mysql_prlock_rdlock

#define mysql_prlock_rdlock (   T)     mysql_prlock_rdlock_with_src(T, __FILE__, __LINE__)

Instrumented rw_pr_rdlock.

mysql_prlock_rdlock is a drop-in replacement for rw_pr_rdlock.

◆ mysql_prlock_rdlock_with_src

#define mysql_prlock_rdlock_with_src (   T,
  F,
  L 
)     inline_mysql_prlock_rdlock(T, F, L)

◆ mysql_prlock_unlock

#define mysql_prlock_unlock (   T)     mysql_prlock_unlock_with_src(T, __FILE__, __LINE__)

Instrumented rw_pr_unlock.

mysql_prlock_unlock is a drop-in replacement for rw_pr_unlock.

◆ mysql_prlock_unlock_with_src

#define mysql_prlock_unlock_with_src (   T,
  F,
  L 
)     inline_mysql_prlock_unlock(T, F, L)

◆ mysql_prlock_wrlock

#define mysql_prlock_wrlock (   T)     mysql_prlock_wrlock_with_src(T, __FILE__, __LINE__)

Instrumented rw_pr_wrlock.

mysql_prlock_wrlock is a drop-in replacement for rw_pr_wrlock.

◆ mysql_prlock_wrlock_with_src

#define mysql_prlock_wrlock_with_src (   T,
  F,
  L 
)     inline_mysql_prlock_wrlock(T, F, L)

◆ mysql_rwlock_destroy

#define mysql_rwlock_destroy (   T)     mysql_rwlock_destroy_with_src(T, __FILE__, __LINE__)

Instrumented rwlock_destroy.

mysql_rwlock_destroy is a drop-in replacement for pthread_rwlock_destroy.

◆ mysql_rwlock_destroy_with_src

#define mysql_rwlock_destroy_with_src (   T,
  F,
  L 
)     inline_mysql_rwlock_destroy(T, F, L)

◆ mysql_rwlock_init

#define mysql_rwlock_init (   K,
 
)     mysql_rwlock_init_with_src(K, T, __FILE__, __LINE__)

Instrumented rwlock_init.

mysql_rwlock_init is a replacement for pthread_rwlock_init. Note that pthread_rwlockattr_t is not supported in MySQL.

Parameters
KThe PSI_rwlock_key for this instrumented rwlock
TThe rwlock to initialize

◆ mysql_rwlock_init_with_src

#define mysql_rwlock_init_with_src (   K,
  T,
  F,
  L 
)     inline_mysql_rwlock_init(K, T, F, L)

◆ mysql_rwlock_rdlock

#define mysql_rwlock_rdlock (   T)     mysql_rwlock_rdlock_with_src(T, __FILE__, __LINE__)

Instrumented rwlock_rdlock.

mysql_rwlock_rdlock is a drop-in replacement for pthread_rwlock_rdlock.

◆ mysql_rwlock_rdlock_with_src

#define mysql_rwlock_rdlock_with_src (   T,
  F,
  L 
)     inline_mysql_rwlock_rdlock(T, F, L)

◆ mysql_rwlock_register

#define mysql_rwlock_register (   P1,
  P2,
  P3 
)     inline_mysql_rwlock_register(P1, P2, P3)

Rwlock registration.

◆ mysql_rwlock_tryrdlock

#define mysql_rwlock_tryrdlock (   T)     mysql_rwlock_tryrdlock_with_src(T, __FILE__, __LINE__)

Instrumented rwlock_tryrdlock.

mysql_rwlock_tryrdlock is a drop-in replacement for pthread_rwlock_tryrdlock.

◆ mysql_rwlock_tryrdlock_with_src

#define mysql_rwlock_tryrdlock_with_src (   T,
  F,
  L 
)     inline_mysql_rwlock_tryrdlock(T, F, L)

◆ mysql_rwlock_trywrlock

#define mysql_rwlock_trywrlock (   T)     mysql_rwlock_trywrlock_with_src(T, __FILE__, __LINE__)

Instrumented rwlock_trywrlock.

mysql_rwlock_trywrlock is a drop-in replacement for pthread_rwlock_trywrlock.

◆ mysql_rwlock_trywrlock_with_src

#define mysql_rwlock_trywrlock_with_src (   T,
  F,
  L 
)     inline_mysql_rwlock_trywrlock(T, F, L)

◆ mysql_rwlock_unlock

#define mysql_rwlock_unlock (   T)     mysql_rwlock_unlock_with_src(T, __FILE__, __LINE__)

Instrumented rwlock_unlock.

mysql_rwlock_unlock is a drop-in replacement for pthread_rwlock_unlock.

◆ mysql_rwlock_unlock_with_src

#define mysql_rwlock_unlock_with_src (   T,
  F,
  L 
)     inline_mysql_rwlock_unlock(T, F, L)

◆ mysql_rwlock_wrlock

#define mysql_rwlock_wrlock (   T)     mysql_rwlock_wrlock_with_src(T, __FILE__, __LINE__)

Instrumented rwlock_wrlock.

mysql_rwlock_wrlock is a drop-in replacement for pthread_rwlock_wrlock.

◆ mysql_rwlock_wrlock_with_src

#define mysql_rwlock_wrlock_with_src (   T,
  F,
  L 
)     inline_mysql_rwlock_wrlock(T, F, L)

Function Documentation

◆ inline_mysql_prlock_destroy()

static int inline_mysql_prlock_destroy ( mysql_prlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_prlock_init()

static int inline_mysql_prlock_init ( PSI_rwlock_key  key,
mysql_prlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_prlock_rdlock()

static int inline_mysql_prlock_rdlock ( mysql_prlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_prlock_unlock()

static int inline_mysql_prlock_unlock ( mysql_prlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_prlock_wrlock()

static int inline_mysql_prlock_wrlock ( mysql_prlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_rwlock_destroy()

static int inline_mysql_rwlock_destroy ( mysql_rwlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_rwlock_init()

static int inline_mysql_rwlock_init ( PSI_rwlock_key  key,
mysql_rwlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_rwlock_rdlock()

static int inline_mysql_rwlock_rdlock ( mysql_rwlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_rwlock_register()

static void inline_mysql_rwlock_register ( const char *  category,
PSI_rwlock_info info,
int  count 
)
inlinestatic

◆ inline_mysql_rwlock_tryrdlock()

static int inline_mysql_rwlock_tryrdlock ( mysql_rwlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_rwlock_trywrlock()

static int inline_mysql_rwlock_trywrlock ( mysql_rwlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_rwlock_unlock()

static int inline_mysql_rwlock_unlock ( mysql_rwlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic

◆ inline_mysql_rwlock_wrlock()

static int inline_mysql_rwlock_wrlock ( mysql_rwlock_t that,
const char *  src_file,
int  src_line 
)
inlinestatic