1#ifndef DEBUG_SYNC_INCLUDED
2#define DEBUG_SYNC_INCLUDED
42#if defined(ENABLED_DEBUG_SYNC)
45#define DEBUG_SYNC(_thd_, _sync_point_name_) \
47 if (unlikely(opt_debug_sync_timeout)) \
48 debug_sync(_thd_, STRING_WITH_LEN(_sync_point_name_)); \
55#define DEBUG_SYNC_DEFAULT_WAIT_TIMEOUT 300
58extern int debug_sync_init(
void);
59extern void debug_sync_end(
void);
60extern void debug_sync_init_thread(
THD *thd);
61extern void debug_sync_claim_memory_ownership(
THD *thd,
bool claim);
62extern void debug_sync_end_thread(
THD *thd);
63extern void debug_sync(
THD *thd,
const char *sync_point_name,
size_t name_len);
64extern bool debug_sync_set_action(
THD *thd,
const char *action_str,
size_t len);
65extern bool debug_sync_update(
THD *thd,
char *val_str);
66extern uchar *debug_sync_value_ptr(
THD *thd);
67extern void conditional_sync_point_for_timestamp(std::string
name);
68extern void conditional_sync_point(std::string
name);
74#define DBUG_SIGNAL_WAIT_FOR(T, A, B, C) \
75 DBUG_EXECUTE_IF(A, { \
76 const char act[] = "now SIGNAL " B " WAIT_FOR " C; \
77 assert(!debug_sync_set_action(T, STRING_WITH_LEN(act))); \
94#define CONDITIONAL_SYNC_POINT(NAME) conditional_sync_point(NAME)
118#define CONDITIONAL_SYNC_POINT_FOR_TIMESTAMP(NAME) \
119 conditional_sync_point_for_timestamp(NAME)
123#define DEBUG_SYNC(_thd_, _sync_point_name_)
124#define DBUG_SIGNAL_WAIT_FOR(T, A, B, C) \
127#define CONDITIONAL_SYNC_POINT(NAME)
128#define CONDITIONAL_SYNC_POINT_FOR_TIMESTAMP(NAME)
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
Header for compiler-dependent features.
Some integer typedefs for easier portability.
unsigned char uchar
Definition: my_inttypes.h:51
Functions related to handling of plugins and other dynamically loaded libraries.
#define MYSQL_PLUGIN_IMPORT
Definition: my_sharedlib.h:70
case opt name
Definition: sslopt-case.h:32
unsigned int uint
Definition: uca-dump.cc:29