1#ifndef DEBUG_SYNC_INCLUDED
2#define DEBUG_SYNC_INCLUDED
44#if defined(ENABLED_DEBUG_SYNC)
47#define DEBUG_SYNC(_thd_, _sync_point_name_) \
49 if (unlikely(opt_debug_sync_timeout)) \
50 debug_sync(_thd_, STRING_WITH_LEN(_sync_point_name_)); \
57#define DEBUG_SYNC_DEFAULT_WAIT_TIMEOUT 300
60extern int debug_sync_init(
void);
61extern void debug_sync_end(
void);
62extern void debug_sync_init_thread(
THD *thd);
63extern void debug_sync_claim_memory_ownership(
THD *thd,
bool claim);
64extern void debug_sync_end_thread(
THD *thd);
65extern void debug_sync(
THD *thd,
const char *sync_point_name,
size_t name_len);
66extern bool debug_sync_set_action(
THD *thd,
const char *action_str,
size_t len);
67extern bool debug_sync_update(
THD *thd,
char *val_str);
68extern uchar *debug_sync_value_ptr(
THD *thd);
69extern void conditional_sync_point_for_timestamp(std::string
name);
70extern void conditional_sync_point(std::string
name);
76#define DBUG_SIGNAL_WAIT_FOR(T, A, B, C) \
77 DBUG_EXECUTE_IF(A, { \
78 const char act[] = "now SIGNAL " B " WAIT_FOR " C; \
79 assert(!debug_sync_set_action(T, STRING_WITH_LEN(act))); \
96#define CONDITIONAL_SYNC_POINT(NAME) conditional_sync_point(NAME)
120#define CONDITIONAL_SYNC_POINT_FOR_TIMESTAMP(NAME) \
121 conditional_sync_point_for_timestamp(NAME)
125#define DEBUG_SYNC(_thd_, _sync_point_name_)
126#define DBUG_SIGNAL_WAIT_FOR(T, A, B, C) \
129#define CONDITIONAL_SYNC_POINT(NAME)
130#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:36
Header for compiler-dependent features.
Some integer typedefs for easier portability.
unsigned char uchar
Definition: my_inttypes.h:52
Functions related to handling of plugins and other dynamically loaded libraries.
#define MYSQL_PLUGIN_IMPORT
Definition: my_sharedlib.h:71
case opt name
Definition: sslopt-case.h:29