39#if defined(MYSQL_SERVER) || defined(PFS_DIRECT_CALL)
45#define PSI_COND_CALL(M) psi_cond_service->M
54#ifndef DISABLE_MYSQL_THREAD_H
60#define mysql_cond_register(P1, P2, P3) inline_mysql_cond_register(P1, P2, P3)
72#define mysql_cond_init(K, C) mysql_cond_init_with_src(K, C, __FILE__, __LINE__)
74#define mysql_cond_init_with_src(K, C, F, L) inline_mysql_cond_init(K, C, F, L)
81#define mysql_cond_destroy(C) mysql_cond_destroy_with_src(C, __FILE__, __LINE__)
83#define mysql_cond_destroy_with_src(C, F, L) inline_mysql_cond_destroy(C, F, L)
90#define mysql_cond_wait(C, M) mysql_cond_wait_with_src(C, M, __FILE__, __LINE__)
92#define mysql_cond_wait_with_src(C, M, F, L) inline_mysql_cond_wait(C, M, F, L)
101#define mysql_cond_timedwait(C, M, W) \
102 mysql_cond_timedwait_with_src(C, M, W, __FILE__, __LINE__)
104#define mysql_cond_timedwait_with_src(C, M, W, F, L) \
105 inline_mysql_cond_timedwait(C, M, W, F, L)
113#define mysql_cond_signal(C) mysql_cond_signal_with_src(C, __FILE__, __LINE__)
115#define mysql_cond_signal_with_src(C, F, L) inline_mysql_cond_signal(C, F, L)
123#define mysql_cond_broadcast(C) \
124 mysql_cond_broadcast_with_src(C, __FILE__, __LINE__)
126#define mysql_cond_broadcast_with_src(C, F, L) \
127 inline_mysql_cond_broadcast(C, F, L)
133 int count [[maybe_unused]]) {
134#ifdef HAVE_PSI_COND_INTERFACE
141 const char *src_file [[maybe_unused]],
142 int src_line [[maybe_unused]]) {
143#ifdef HAVE_PSI_COND_INTERFACE
146 that->
m_psi =
nullptr;
154 int src_line [[maybe_unused]]) {
155#ifdef HAVE_PSI_COND_INTERFACE
156 if (that->
m_psi !=
nullptr) {
158 that->
m_psi =
nullptr;
166 const char *src_file [[maybe_unused]],
167 int src_line [[maybe_unused]]) {
170#ifdef HAVE_PSI_COND_INTERFACE
171 if (that->
m_psi !=
nullptr) {
188 if (locker !=
nullptr) {
210 const char *src_file [[maybe_unused]],
int src_line [[maybe_unused]]) {
213#ifdef HAVE_PSI_COND_INTERFACE
214 if (that->
m_psi !=
nullptr) {
232 if (locker !=
nullptr) {
255 int src_line [[maybe_unused]]) {
257#ifdef HAVE_PSI_COND_INTERFACE
258 if (that->
m_psi !=
nullptr) {
271 int src_line [[maybe_unused]]) {
273#ifdef HAVE_PSI_COND_INTERFACE
274 if (that->
m_psi !=
nullptr) {
#define PSI_COND_CALL(M)
Definition: psi_cond.h:35
struct PSI_cond_locker PSI_cond_locker
Definition: psi_cond_bits.h:71
unsigned int PSI_cond_key
Instrumented cond key.
Definition: psi_cond_bits.h:43
@ PSI_COND_WAIT
Wait.
Definition: psi_cond_bits.h:76
@ PSI_COND_TIMEDWAIT
Wait, with timeout.
Definition: psi_cond_bits.h:78
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:139
static void inline_mysql_cond_register(const char *category, PSI_cond_info *info, int count)
Definition: mysql_cond.h:129
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:208
static int inline_mysql_cond_broadcast(mysql_cond_t *that, const char *src_file, int src_line)
Definition: mysql_cond.h:268
static int inline_mysql_cond_destroy(mysql_cond_t *that, const char *src_file, int src_line)
Definition: mysql_cond.h:151
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:164
static int inline_mysql_cond_signal(mysql_cond_t *that, const char *src_file, int src_line)
Definition: mysql_cond.h:252
Defines various enable/disable and HAVE_ macros related to the performance schema instrumentation sys...
static int count
Definition: myisam_ftdump.cc:42
Instrumentation helpers for conditions.
static const char * category
Definition: sha2_password.cc:169
Performance schema instrumentation (declarations).
struct result result
Definition: result.h:33
Instrumentation helpers for mutexes.
Performance schema instrumentation interface.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
Condition information.
Definition: psi_cond_bits.h:87
State data storage for start_cond_wait_v1_t.
Definition: psi_cond_bits.h:117
bool m_enabled
Instrumentation is enabled.
Definition: psi_bits.h:180
An instrumented cond structure.
Definition: mysql_cond_bits.h:49
struct PSI_cond * m_psi
The instrumentation hook.
Definition: mysql_cond_bits.h:57
native_cond_t m_cond
The real condition.
Definition: mysql_cond_bits.h:51
An instrumented mutex structure.
Definition: mysql_mutex_bits.h:49
struct PSI_mutex * m_psi
The instrumentation hook.
Definition: mysql_mutex_bits.h:57
my_mutex_t m_mutex
The real mutex.
Definition: mysql_mutex_bits.h:51
MySQL condition variable implementation.
static int native_cond_init(native_cond_t *cond)
Definition: thr_cond.h:73
static int native_cond_broadcast(native_cond_t *cond)
Definition: thr_cond.h:121
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:83
static int native_cond_signal(native_cond_t *cond)
Definition: thr_cond.h:112