1#ifndef DEBUG_SYNC_INCLUDED
2#define DEBUG_SYNC_INCLUDED
43#if defined(ENABLED_DEBUG_SYNC)
46#define DEBUG_SYNC(_thd_, _sync_point_name_) \
48 if (unlikely(opt_debug_sync_timeout)) \
49 debug_sync(_thd_, STRING_WITH_LEN(_sync_point_name_)); \
56#define DEBUG_SYNC_DEFAULT_WAIT_TIMEOUT 300
59extern int debug_sync_init(
void);
60extern void debug_sync_end(
void);
61extern void debug_sync_init_thread(
THD *thd);
62extern void debug_sync_claim_memory_ownership(
THD *thd,
bool claim);
63extern void debug_sync_end_thread(
THD *thd);
64extern void debug_sync(
THD *thd,
const char *sync_point_name,
size_t name_len);
65extern bool debug_sync_set_action(
THD *thd,
const char *action_str,
size_t len);
66extern bool debug_sync_update(
THD *thd,
char *val_str);
67extern uchar *debug_sync_value_ptr(
THD *thd);
68extern void conditional_sync_point_for_timestamp(std::string
name);
69extern void conditional_sync_point(std::string
name);
75#define DBUG_SIGNAL_WAIT_FOR(T, A, B, C) \
76 DBUG_EXECUTE_IF(A, { \
77 const char act[] = "now SIGNAL " B " WAIT_FOR " C; \
78 assert(!debug_sync_set_action(T, STRING_WITH_LEN(act))); \
95#define CONDITIONAL_SYNC_POINT(NAME) conditional_sync_point(NAME)
119#define CONDITIONAL_SYNC_POINT_FOR_TIMESTAMP(NAME) \
120 conditional_sync_point_for_timestamp(NAME)
124#define DEBUG_SYNC(_thd_, _sync_point_name_)
125#define DBUG_SIGNAL_WAIT_FOR(T, A, B, C) \
128#define CONDITIONAL_SYNC_POINT(NAME)
129#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:34
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:33
unsigned int uint
Definition: uca9-dump.cc:75