40#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL) 
   46#define PSI_COND_CALL(M) psi_cond_service->M 
   55#ifndef DISABLE_MYSQL_THREAD_H 
   61#define mysql_cond_register(P1, P2, P3) inline_mysql_cond_register(P1, P2, P3) 
   73#define mysql_cond_init(K, C) mysql_cond_init_with_src(K, C, __FILE__, __LINE__) 
   75#define mysql_cond_init_with_src(K, C, F, L) inline_mysql_cond_init(K, C, F, L) 
   82#define mysql_cond_destroy(C) mysql_cond_destroy_with_src(C, __FILE__, __LINE__) 
   84#define mysql_cond_destroy_with_src(C, F, L) inline_mysql_cond_destroy(C, F, L) 
   91#define mysql_cond_wait(C, M) mysql_cond_wait_with_src(C, M, __FILE__, __LINE__) 
   93#define mysql_cond_wait_with_src(C, M, F, L) inline_mysql_cond_wait(C, M, F, L) 
  102#define mysql_cond_timedwait(C, M, W) \ 
  103  mysql_cond_timedwait_with_src(C, M, W, __FILE__, __LINE__) 
  105#define mysql_cond_timedwait_with_src(C, M, W, F, L) \ 
  106  inline_mysql_cond_timedwait(C, M, W, F, L) 
  114#define mysql_cond_signal(C) mysql_cond_signal_with_src(C, __FILE__, __LINE__) 
  116#define mysql_cond_signal_with_src(C, F, L) inline_mysql_cond_signal(C, F, L) 
  124#define mysql_cond_broadcast(C) \ 
  125  mysql_cond_broadcast_with_src(C, __FILE__, __LINE__) 
  127#define mysql_cond_broadcast_with_src(C, F, L) \ 
  128  inline_mysql_cond_broadcast(C, F, L) 
  134                                              int count [[maybe_unused]]) {
 
  135#ifdef HAVE_PSI_COND_INTERFACE 
  142                                         const char *src_file [[maybe_unused]],
 
  143                                         int src_line [[maybe_unused]]) {
 
  144#ifdef HAVE_PSI_COND_INTERFACE 
  147  that->
m_psi = 
nullptr;
 
  155                                            int src_line [[maybe_unused]]) {
 
  156#ifdef HAVE_PSI_COND_INTERFACE 
  157  if (that->
m_psi != 
nullptr) {
 
  159    that->
m_psi = 
nullptr;
 
  167                                         const char *src_file [[maybe_unused]],
 
  168                                         int src_line [[maybe_unused]]) {
 
  171#ifdef HAVE_PSI_COND_INTERFACE 
  172  if (that->
m_psi != 
nullptr) {
 
  189      if (locker != 
nullptr) {
 
  211    const char *src_file [[maybe_unused]], 
int src_line [[maybe_unused]]) {
 
  214#ifdef HAVE_PSI_COND_INTERFACE 
  215  if (that->
m_psi != 
nullptr) {
 
  233      if (locker != 
nullptr) {
 
  256                                           int src_line [[maybe_unused]]) {
 
  258#ifdef HAVE_PSI_COND_INTERFACE 
  259  if (that->
m_psi != 
nullptr) {
 
  272                                              int src_line [[maybe_unused]]) {
 
  274#ifdef HAVE_PSI_COND_INTERFACE 
  275  if (that->
m_psi != 
nullptr) {
 
#define PSI_COND_CALL(M)
Definition: psi_cond.h:36
 
struct PSI_cond_locker PSI_cond_locker
Definition: psi_cond_bits.h:72
 
unsigned int PSI_cond_key
Instrumented cond key.
Definition: psi_cond_bits.h:44
 
@ PSI_COND_WAIT
Wait.
Definition: psi_cond_bits.h:77
 
@ PSI_COND_TIMEDWAIT
Wait, with timeout.
Definition: psi_cond_bits.h:79
 
static int inline_mysql_cond_init(PSI_cond_key key, mysql_cond_t *that, const char *src_file, int src_line)
Definition: mysql_cond.h:140
 
static void inline_mysql_cond_register(const char *category, PSI_cond_info *info, int count)
Definition: mysql_cond.h:130
 
static int inline_mysql_cond_timedwait(mysql_cond_t *that, mysql_mutex_t *mutex, const struct timespec *abstime, const char *src_file, int src_line)
Definition: mysql_cond.h:209
 
static int inline_mysql_cond_broadcast(mysql_cond_t *that, const char *src_file, int src_line)
Definition: mysql_cond.h:269
 
static int inline_mysql_cond_destroy(mysql_cond_t *that, const char *src_file, int src_line)
Definition: mysql_cond.h:152
 
static int inline_mysql_cond_wait(mysql_cond_t *that, mysql_mutex_t *mutex, const char *src_file, int src_line)
Definition: mysql_cond.h:165
 
static int inline_mysql_cond_signal(mysql_cond_t *that, const char *src_file, int src_line)
Definition: mysql_cond.h:253
 
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
 
static int count
Definition: myisam_ftdump.cc:45
 
Instrumentation helpers for conditions.
 
static const char * category
Definition: sha2_password.cc:166
 
Performance schema instrumentation (declarations).
 
struct result result
Definition: result.h:34
 
Instrumentation helpers for mutexes.
 
Performance schema instrumentation interface.
 
required string key
Definition: replication_asynchronous_connection_failover.proto:60
 
Condition information.
Definition: psi_cond_bits.h:88
 
State data storage for start_cond_wait_v1_t.
Definition: psi_cond_bits.h:118
 
bool m_enabled
Instrumentation is enabled.
Definition: psi_bits.h:191
 
An instrumented cond structure.
Definition: mysql_cond_bits.h:50
 
struct PSI_cond * m_psi
The instrumentation hook.
Definition: mysql_cond_bits.h:58
 
native_cond_t m_cond
The real condition.
Definition: mysql_cond_bits.h:52
 
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:50
 
struct PSI_mutex * m_psi
The instrumentation hook.
Definition: mysql_mutex_bits.h:58
 
my_mutex_t m_mutex
The real mutex.
Definition: mysql_mutex_bits.h:52
 
MySQL condition variable implementation.
 
static int native_cond_init(native_cond_t *cond)
Definition: thr_cond.h:72
 
static int native_cond_broadcast(native_cond_t *cond)
Definition: thr_cond.h:120
 
static int my_cond_timedwait(native_cond_t *cond, my_mutex_t *mp, const struct timespec *abstime)
Definition: thr_cond.h:138
 
static int my_cond_wait(native_cond_t *cond, my_mutex_t *mp)
Definition: thr_cond.h:152
 
static int native_cond_destroy(native_cond_t *cond)
Definition: thr_cond.h:82
 
static int native_cond_signal(native_cond_t *cond)
Definition: thr_cond.h:111