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:170
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:74
static int native_cond_broadcast(native_cond_t *cond)
Definition: thr_cond.h:122
static int my_cond_timedwait(native_cond_t *cond, my_mutex_t *mp, const struct timespec *abstime)
Definition: thr_cond.h:139
static int my_cond_wait(native_cond_t *cond, my_mutex_t *mp)
Definition: thr_cond.h:153
static int native_cond_destroy(native_cond_t *cond)
Definition: thr_cond.h:84
static int native_cond_signal(native_cond_t *cond)
Definition: thr_cond.h:113