485 InitializeCriticalSection((LPCRITICAL_SECTION)&
m_mutex);
488 int ret = pthread_mutex_init(&
m_mutex,
nullptr);
503 DeleteCriticalSection((LPCRITICAL_SECTION)&
m_mutex);
507 ret = pthread_mutex_destroy(&
m_mutex);
510#ifdef UNIV_NO_ERR_MSGS
515 <<
"Return value " << ret <<
" when calling pthread_mutex_destroy().";
525 LeaveCriticalSection(&
m_mutex);
527 int ret = pthread_mutex_unlock(&
m_mutex);
536 EnterCriticalSection((LPCRITICAL_SECTION)&
m_mutex);
538 int ret = pthread_mutex_lock(&
m_mutex);
550 return (TryEnterCriticalSection(&
m_mutex) != 0);
552 return (pthread_mutex_trylock(&
m_mutex) == 0);
559#if defined(UNIV_LIBRARY) && defined(UNIV_DEBUG)
586#define LATCH_ADD_MUTEX(id, level, key) \
587 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
588 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level, key)
590#ifdef UNIV_PFS_RWLOCK
596#define LATCH_ADD_RWLOCK(id, level, key) \
597 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
598 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level, key)
600#define LATCH_ADD_RWLOCK(id, level, key) \
601 latch_meta[LATCH_ID_##id] = \
602 ut::new_withkey<latch_meta_t>(UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, \
603 #id, level, #level, PSI_NOT_INSTRUMENTED)
607#define LATCH_ADD_MUTEX(id, level, key) \
608 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
609 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level)
610#define LATCH_ADD_RWLOCK(id, level, key) \
611 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
612 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level)
717 template <
typename Callback>
721 std::forward<Callback>(callback)(
count);
731 count->m_enabled =
true;
744 count->m_enabled =
false;
775template <
typename Counter = LatchCounter>
807 const char *level_name
875typedef std::vector<latch_meta_t *, ut::allocator<latch_meta_t *>>
931#ifndef UNIV_HOTBACKUP
1088#ifdef UNIV_NO_ERR_MSGS
1093 <<
"Debug: Calling thread does not hold search "
1094 "latch but does hold latch level "
1134#ifdef UNIV_NO_ERR_MSGS
1139 <<
"Debug: Dictionary latch order violation for level " << level
1179 if (level == allowed_level) {
1187#ifdef UNIV_NO_ERR_MSGS
1192 <<
"Debug: sync_allowed_latches violation for level=" << level;
1205 typedef std::vector<latch_level_t, ut::allocator<latch_level_t>>
latches_t;
Class that stores callback function reference as well as the result of the callback function call (in...
Definition: keyring_service.cc:43
Default latch counter.
Definition: sync0types.h:616
LatchCounter(const LatchCounter &)
bool is_enabled() const 1
Definition: sync0types.h:753
void single_deregister(Count *count) 1
Deregister a single instance counter.
Definition: sync0types.h:707
Counters m_counters
Counters for the latches.
Definition: sync0types.h:768
LatchCounter() 1
Constructor.
Definition: sync0types.h:646
void sum_deregister(Count *count) const 1
Deregister the count.
Definition: sync0types.h:692
void iterate(Callback &&callback) const 1
Iterate over the counters.
Definition: sync0types.h:718
Mutex m_mutex
Mutex protecting m_counters.
Definition: sync0types.h:765
void disable() 1
Disable the monitoring.
Definition: sync0types.h:740
LatchCounter & operator=(const LatchCounter &)
OSMutex Mutex
Definition: sync0types.h:761
~LatchCounter() 1
Destructor.
Definition: sync0types.h:649
bool m_active
if true then we collect the data
Definition: sync0types.h:771
void single_register(Count *count) 1
Register a single instance counter.
Definition: sync0types.h:697
std::vector< Count * > Counters
Definition: sync0types.h:762
void enable() 1
Disable the monitoring.
Definition: sync0types.h:727
void reset() 1
Reset all counters to zero.
Definition: sync0types.h:661
Count * sum_register() 1
Definition: sync0types.h:672
The class error is used to emit error messages.
Definition: ut0log.h:231
static int count
Definition: myisam_ftdump.cc:45
Sharded atomic counter.
Definition: ut0counter.h:221
static mysql_service_status_t remove(reference_caching_channel channel, const char *implementation_name) noexcept
Definition: component.cc:137
pid_type get_id()
Definition: process.h:48
void delete_(T *ptr) noexcept
Releases storage which has been dynamically allocated through any of the ut::new*() variants.
Definition: ut0new.h:811
const char * filename
Definition: pfs_example_component_population.cc:67
required string key
Definition: replication_asynchronous_connection_failover.proto:60
case opt name
Definition: sslopt-case.h:29
The counts we collect for a mutex.
Definition: sync0types.h:619
uint32_t m_spins
Number of spins trying to acquire the latch.
Definition: sync0types.h:633
void reset() 1
Rest the values to zero.
Definition: sync0types.h:626
uint32_t m_calls
Number of times it was called.
Definition: sync0types.h:639
Count() 1
Constructor.
Definition: sync0types.h:621
uint32_t m_waits
Number of waits trying to acquire the latch.
Definition: sync0types.h:636
bool m_enabled
true if enabled
Definition: sync0types.h:642
OS mutex, without any policy.
Definition: sync0types.h:476
void exit() 1
Release the mutex.
Definition: sync0types.h:522
OSMutex() 1
Constructor.
Definition: sync0types.h:478
bool try_lock() 1
Definition: sync0types.h:547
void enter() 1
Acquire the mutex.
Definition: sync0types.h:533
sys_mutex_t m_mutex
Definition: sync0types.h:576
~OSMutex()=default
Destructor.
void lock()
Definition: sync0types.h:543
bool m_freed
true if the mutex has been freed/destroyed.
Definition: sync0types.h:573
void init() 1
Create the mutex by calling the system functions.
Definition: sync0types.h:481
void unlock()
Definition: sync0types.h:544
void destroy() 1
Destroy the mutex.
Definition: sync0types.h:500
Functor to check whether the calling thread owns the btr search mutex.
Definition: sync0types.h:1053
const bool m_has_search_latch
If the caller owns the search latch.
Definition: sync0types.h:1111
btrsea_sync_check(bool has_search_latch)
Constructor.
Definition: sync0types.h:1056
bool m_result
True if all OK.
Definition: sync0types.h:1108
bool operator()(const latch_level_t level) override
Called for every latch owned by the calling thread.
Definition: sync0types.h:1065
~btrsea_sync_check() override=default
Destructor.
bool result() const override
Definition: sync0types.h:1104
Functor to check for dictionary latching constraints.
Definition: sync0types.h:1115
dict_sync_check(bool dict_mutex_allowed)
Constructor.
Definition: sync0types.h:1119
const bool m_dict_mutex_allowed
True if it is OK to hold the dict mutex.
Definition: sync0types.h:1156
bool m_result
True if all OK.
Definition: sync0types.h:1153
bool operator()(const latch_level_t level) override
Check the latching constraints.
Definition: sync0types.h:1127
~dict_sync_check() override=default
Destructor.
virtual bool result() const override
Definition: sync0types.h:1149
All (ordered) latches, used in debugging, must derive from this class.
Definition: sync0types.h:965
latch_level_t get_level() const 1
Definition: sync0types.h:991
bool is_rw_lock() const 1
Definition: sync0types.h:981
bool m_temp_fsp
true if it is an temporary space latch
Definition: sync0types.h:1042
latch_id_t m_id
Latch ID.
Definition: sync0types.h:1035
virtual ~latch_t() 1=default
Destructor.
void set_temp_fsp() 1
Set the temporary tablespace flag.
Definition: sync0types.h:1013
latch_t & operator=(const latch_t &)=default
bool is_temp_fsp() const 1
Definition: sync0types.h:1007
virtual std::string locked_from() const =0
bool m_rw_lock
true if it is a rw-lock.
Definition: sync0types.h:1039
latch_id_t get_id() const
Definition: sync0types.h:978
virtual std::string to_string() const =0
Print the latch context.
latch_t(latch_id_t id=LATCH_ID_NONE) 1
Constructor.
Definition: sync0types.h:968
const char * get_name() const 1
Definition: sync0types.h:1019
Define for performance schema registration key.
Definition: sync0sync.h:51
Functor to check for given latching constraints.
Definition: sync0types.h:1160
virtual bool result() const override
Definition: sync0types.h:1198
std::vector< latch_level_t, ut::allocator< latch_level_t > > latches_t
Definition: sync0types.h:1205
bool m_result
Save the result of validation check here True if all OK.
Definition: sync0types.h:1203
sync_allowed_latches(const latch_level_t *from, const latch_level_t *to)
Constructor.
Definition: sync0types.h:1164
latches_t m_latches
List of latch levels that are allowed to be held.
Definition: sync0types.h:1208
sync_allowed_latches()
Default constructor.
Definition: sync0types.h:1168
virtual bool operator()(const latch_level_t level) override
Check whether the given latch_t violates the latch constraint.
Definition: sync0types.h:1177
Subclass this to iterate over a thread's acquired latch levels.
Definition: sync0types.h:1046
virtual bool operator()(const latch_level_t)=0
virtual bool result() const =0
virtual ~sync_check_functor_t()=default
Mutex, the basic synchronization primitive.
LatchMetaData latch_meta
Note: This is accessed without any mutex protection.
Definition: sync0debug.cc:1195
pthread_mutex_t sys_mutex_t
Native mutex.
Definition: sync0types.h:56
LatchMeta< LatchCounter > latch_meta_t
Definition: sync0types.h:874
std::string sync_mutex_to_string(latch_id_t id, const std::string &created)
String representation of the filename and line number where the latch was created.
Definition: sync0sync.cc:236
latch_level_t sync_latch_get_level(latch_id_t id)
Get the latch ordering level.
Definition: sync0types.h:914
const char * sync_latch_get_name(latch_id_t id)
Get the latch name from the latch ID.
Definition: sync0types.h:905
std::vector< latch_meta_t *, ut::allocator< latch_meta_t * > > LatchMetaData
Definition: sync0types.h:876
void sync_file_created_register(const void *ptr, const char *filename, uint16_t line)
Register a latch, called when it is created.
Definition: sync0debug.cc:1650
latch_meta_t & sync_latch_get_meta(latch_id_t id)
Get the latch meta-data from the latch ID.
Definition: sync0types.h:886
latch_id_t
Each latch has an ID.
Definition: sync0types.h:345
@ LATCH_ID_LOG_SN_MUTEX
Definition: sync0types.h:382
@ LATCH_ID_LOG_WRITE_NOTIFIER
Definition: sync0types.h:387
@ LATCH_ID_DBLR
Definition: sync0types.h:465
@ LATCH_ID_DICT_TABLE
Definition: sync0types.h:364
@ LATCH_ID_FILE_OPEN
Definition: sync0types.h:460
@ LATCH_ID_SRV_INNODB_MONITOR
Definition: sync0types.h:415
@ LATCH_ID_LOG_CHECKPOINTER
Definition: sync0types.h:383
@ LATCH_ID_RTR_SSN_MUTEX
Definition: sync0types.h:410
@ LATCH_ID_WORK_QUEUE
Definition: sync0types.h:439
@ LATCH_ID_CLONE_TASK
Definition: sync0types.h:462
@ LATCH_ID_TRX_POOL_MANAGER
Definition: sync0types.h:421
@ LATCH_ID_LOG_WRITER
Definition: sync0types.h:385
@ LATCH_ID_BUF_POOL_ZIP
Definition: sync0types.h:352
@ LATCH_ID_LOCK_FREE_HASH
Definition: sync0types.h:376
@ LATCH_ID_FTS_DOC_ID
Definition: sync0types.h:370
@ LATCH_ID_LOG_LIMITS
Definition: sync0types.h:389
@ LATCH_ID_DBLWR_SPACE_CACHE
Definition: sync0types.h:359
@ LATCH_ID_TEST_MUTEX
Definition: sync0types.h:468
@ LATCH_ID_BUF_POOL_ZIP_HASH
Definition: sync0types.h:356
@ LATCH_ID_LOCK_SYS_PAGE
Definition: sync0types.h:378
@ LATCH_ID_LOG_SN
Definition: sync0types.h:381
@ LATCH_ID_TRX
Definition: sync0types.h:423
@ LATCH_ID_FLUSH_LIST
Definition: sync0types.h:366
@ LATCH_ID_EVENT_MANAGER
Definition: sync0types.h:430
@ LATCH_ID_TEMP_SPACE_RSEG
Definition: sync0types.h:406
@ LATCH_ID_UNDO_SPACE_RSEG
Definition: sync0types.h:407
@ LATCH_ID_BUF_CHUNK_MAP_LATCH
Definition: sync0types.h:457
@ LATCH_ID_DICT_PERSIST_CHECKPOINT
Definition: sync0types.h:400
@ LATCH_ID_LOCK_SYS_GLOBAL
Definition: sync0types.h:377
@ LATCH_ID_LOG_ARCH
Definition: sync0types.h:393
@ LATCH_ID_DICT_PERSIST_DIRTY_TABLES
Definition: sync0types.h:398
@ LATCH_ID_RW_LOCK_LIST
Definition: sync0types.h:414
@ LATCH_ID_IBUF_BITMAP
Definition: sync0types.h:373
@ LATCH_ID_RECV_SYS
Definition: sync0types.h:404
@ LATCH_ID_DICT_TABLE_STATS
Definition: sync0types.h:455
@ LATCH_ID_FTS_CACHE
Definition: sync0types.h:449
@ LATCH_ID_IBUF_INDEX_TREE
Definition: sync0types.h:453
@ LATCH_ID_DICT_FOREIGN_ERR
Definition: sync0types.h:362
@ LATCH_ID_PERSIST_AUTOINC
Definition: sync0types.h:399
@ LATCH_ID_UNDO_SPACES
Definition: sync0types.h:446
@ LATCH_ID_LOG_FILES
Definition: sync0types.h:390
@ LATCH_ID_FTS_OPTIMIZE
Definition: sync0types.h:369
@ LATCH_ID_RTR_ACTIVE_MUTEX
Definition: sync0types.h:411
@ LATCH_ID_PURGE_SYS_PQ
Definition: sync0types.h:402
@ LATCH_ID_MASTER_KEY_ID_MUTEX
Definition: sync0types.h:459
@ LATCH_ID_PAGE_ARCH
Definition: sync0types.h:394
@ LATCH_ID_RW_LOCK_DEBUG
Definition: sync0types.h:409
@ LATCH_ID_IBUF_PESSIMISTIC_INSERT
Definition: sync0types.h:375
@ LATCH_ID_TRX_SYS
Definition: sync0types.h:424
@ LATCH_ID_AHI_ENABLED
Definition: sync0types.h:347
@ LATCH_ID_FIL_SHARD
Definition: sync0types.h:365
@ LATCH_ID_OS_AIO_WRITE_MUTEX
Definition: sync0types.h:435
@ LATCH_ID_TRX_UNDO
Definition: sync0types.h:419
@ LATCH_ID_TRX_I_S_CACHE
Definition: sync0types.h:451
@ LATCH_ID_UNDO_DDL
Definition: sync0types.h:447
@ LATCH_ID_BTR_SEARCH
Definition: sync0types.h:440
@ LATCH_ID_HASH_TABLE_MUTEX
Definition: sync0types.h:372
@ LATCH_ID_PAGE_ARCH_CLIENT
Definition: sync0types.h:396
@ LATCH_ID_ROW_DROP_LIST
Definition: sync0types.h:437
@ LATCH_ID_RECV_WRITER
Definition: sync0types.h:405
@ LATCH_ID_CLONE_SNAPSHOT
Definition: sync0types.h:463
@ LATCH_ID_TRX_PURGE
Definition: sync0types.h:452
@ LATCH_ID_TRX_POOL
Definition: sync0types.h:420
@ LATCH_ID_INDEX_TREE
Definition: sync0types.h:454
@ LATCH_ID_RTR_MATCH_MUTEX
Definition: sync0types.h:412
@ LATCH_ID_BUF_BLOCK_DEBUG
Definition: sync0types.h:442
@ LATCH_ID_MAX
Definition: sync0types.h:469
@ LATCH_ID_SRV_MISC_TMPFILE
Definition: sync0types.h:416
@ LATCH_ID_ALTER_STAGE
Definition: sync0types.h:348
@ LATCH_ID_TRX_SYS_SERIALISATION
Definition: sync0types.h:426
@ LATCH_ID_BUF_POOL_CHUNKS
Definition: sync0types.h:351
@ LATCH_ID_HASH_TABLE_RW_LOCK
Definition: sync0types.h:456
@ LATCH_ID_CACHE_LAST_READ
Definition: sync0types.h:361
@ LATCH_ID_BUF_POOL_ZIP_FREE
Definition: sync0types.h:355
@ LATCH_ID_LOG_FLUSHER
Definition: sync0types.h:386
@ LATCH_ID_CLONE_SYS
Definition: sync0types.h:461
@ LATCH_ID_OS_AIO_IBUF_MUTEX
Definition: sync0types.h:436
@ LATCH_ID_PAGE_ARCH_OPER
Definition: sync0types.h:395
@ LATCH_ID_TRX_SYS_RSEG
Definition: sync0types.h:408
@ LATCH_ID_FTS_BG_THREADS
Definition: sync0types.h:367
@ LATCH_ID_SRV_SYS_TASKS
Definition: sync0types.h:428
@ LATCH_ID_RECALC_POOL
Definition: sync0types.h:403
@ LATCH_ID_LOCK_SYS_WAIT
Definition: sync0types.h:380
@ LATCH_ID_SYNC_DEBUG_MUTEX
Definition: sync0types.h:458
@ LATCH_ID_PARSER
Definition: sync0types.h:392
@ LATCH_ID_DBLWR
Definition: sync0types.h:358
@ LATCH_ID_LOG_CLOSER
Definition: sync0types.h:384
@ LATCH_ID_CHECKPOINT
Definition: sync0types.h:444
@ LATCH_ID_INDEX_ONLINE_LOG
Definition: sync0types.h:438
@ LATCH_ID_BUF_BLOCK_MUTEX
Definition: sync0types.h:350
@ LATCH_ID_FTS_DELETE
Definition: sync0types.h:368
@ LATCH_ID_DICT_OPERATION
Definition: sync0types.h:443
@ LATCH_ID_AUTOINC
Definition: sync0types.h:349
@ LATCH_ID_REDO_LOG_ARCHIVE_QUEUE_MUTEX
Definition: sync0types.h:467
@ LATCH_ID_LOG_GOVERNOR_MUTEX
Definition: sync0types.h:391
@ LATCH_ID_NONE
Definition: sync0types.h:346
@ LATCH_ID_LOG_FLUSH_NOTIFIER
Definition: sync0types.h:388
@ LATCH_ID_SYNC_THREAD
Definition: sync0types.h:418
@ LATCH_ID_IBUF
Definition: sync0types.h:374
@ LATCH_ID_LOCK_SYS_TABLE
Definition: sync0types.h:379
@ LATCH_ID_FTS_CACHE_INIT
Definition: sync0types.h:450
@ LATCH_ID_OS_AIO_READ_MUTEX
Definition: sync0types.h:434
@ LATCH_ID_BUF_BLOCK_LOCK
Definition: sync0types.h:441
@ LATCH_ID_FTS_PLL_TOKENIZE
Definition: sync0types.h:371
@ LATCH_ID_FIL_SPACE
Definition: sync0types.h:448
@ LATCH_ID_TEMP_POOL_MANAGER
Definition: sync0types.h:422
@ LATCH_ID_BUF_POOL_LRU_LIST
Definition: sync0types.h:353
@ LATCH_ID_DICT_SYS
Definition: sync0types.h:363
@ LATCH_ID_SYNC_ARRAY_MUTEX
Definition: sync0types.h:432
@ LATCH_ID_TRX_SYS_SHARD
Definition: sync0types.h:425
@ LATCH_ID_REDO_LOG_ARCHIVE_ADMIN_MUTEX
Definition: sync0types.h:466
@ LATCH_ID_PAGE_ZIP_STAT_PER_INDEX
Definition: sync0types.h:429
@ LATCH_ID_BUF_POOL_FLUSH_STATE
Definition: sync0types.h:357
@ LATCH_ID_PERSIST_METADATA_BUFFER
Definition: sync0types.h:397
@ LATCH_ID_PAGE_CLEANER
Definition: sync0types.h:401
@ LATCH_ID_SRV_MONITOR_FILE
Definition: sync0types.h:417
@ LATCH_ID_DDL_AUTOINC
Definition: sync0types.h:360
@ LATCH_ID_SRV_SYS
Definition: sync0types.h:427
@ LATCH_ID_PARALLEL_READ
Definition: sync0types.h:464
@ LATCH_ID_RSEGS
Definition: sync0types.h:445
@ LATCH_ID_RTR_PATH_MUTEX
Definition: sync0types.h:413
@ LATCH_ID_BUF_POOL_FREE_LIST
Definition: sync0types.h:354
@ LATCH_ID_ZIP_PAD_MUTEX
Definition: sync0types.h:433
@ LATCH_ID_EVENT_MUTEX
Definition: sync0types.h:431
latch_meta_t::CounterType * sync_latch_get_counter(latch_id_t id)
Fetch the counter for the latch.
Definition: sync0types.h:896
const char * sync_basename(const char *filename)
Print the filename "basename".
Definition: sync0sync.cc:219
latch_level_t
Latching order levels.
Definition: sync0types.h:201
@ SYNC_TREE_NODE_NEW
Definition: sync0types.h:300
@ SYNC_LOG_WRITER
Definition: sync0types.h:249
@ SYNC_DICT
Definition: sync0types.h:314
@ SYNC_FTS_BG_THREADS
Definition: sync0types.h:242
@ SYNC_BUF_LRU_LIST
Definition: sync0types.h:231
@ SYNC_BUF_BLOCK
Definition: sync0types.h:229
@ SYNC_LOG_FLUSHER
Definition: sync0types.h:247
@ SYNC_LOG_GOVERNOR_MUTEX
Definition: sync0types.h:256
@ SYNC_DICT_AUTOINC_MUTEX
Definition: sync0types.h:313
@ SYNC_IBUF_BITMAP
Definition: sync0types.h:277
@ SYNC_POOL
Definition: sync0types.h:267
@ SYNC_LOG_FILES
Definition: sync0types.h:248
@ SYNC_BUF_CHUNKS
Definition: sync0types.h:232
@ SYNC_STATS_AUTO_RECALC
Definition: sync0types.h:312
@ SYNC_TRX_SYS
Definition: sync0types.h:270
@ SYNC_UNDO_SPACE_RSEG
Definition: sync0types.h:294
@ SYNC_BUF_ZIP_HASH
Definition: sync0types.h:226
@ SYNC_TREE_NODE
Definition: sync0types.h:298
@ SYNC_FSP_PAGE
Definition: sync0types.h:285
@ SYNC_FTS_CACHE_INIT
Definition: sync0types.h:243
@ SYNC_BUF_PAGE_HASH
Definition: sync0types.h:230
@ SYNC_TRX
Definition: sync0types.h:266
@ SYNC_LOG_WRITE_NOTIFIER
Definition: sync0types.h:250
@ SYNC_POOL_MANAGER
Definition: sync0types.h:268
@ SYNC_BUF_ZIP_FREE
Definition: sync0types.h:228
@ SYNC_FTS_TOKENIZE
Definition: sync0types.h:240
@ SYNC_MUTEX
Definition: sync0types.h:204
@ SYNC_TRX_SYS_SERIALISATION
Definition: sync0types.h:263
@ SYNC_PURGE_QUEUE
Definition: sync0types.h:264
@ SYNC_BUF_FLUSH_LIST
Definition: sync0types.h:224
@ SYNC_UNDO_SPACES
Definition: sync0types.h:303
@ SYNC_LOG_CLOSER
Definition: sync0types.h:252
@ SYNC_RSEG_ARRAY_HEADER
Definition: sync0types.h:289
@ SYNC_RECV_WRITER
Definition: sync0types.h:327
@ SYNC_FTS_CACHE
Definition: sync0types.h:316
@ SYNC_LOG_ARCH
Definition: sync0types.h:259
@ RW_LOCK_SX
Definition: sync0types.h:206
@ SYNC_LOCK_SYS_GLOBAL
Definition: sync0types.h:272
@ SYNC_DICT_HEADER
Definition: sync0types.h:310
@ SYNC_LOCK_SYS_SHARDED
Definition: sync0types.h:271
@ SYNC_PAGE_CLEANER
Definition: sync0types.h:261
@ SYNC_RSEG_HEADER
Definition: sync0types.h:291
@ SYNC_LOG_LIMITS
Definition: sync0types.h:246
@ SYNC_LEVEL_VARYING
Level is varying.
Definition: sync0types.h:333
@ SYNC_TRX_UNDO_PAGE
Definition: sync0types.h:290
@ SYNC_FIL_SHARD
Definition: sync0types.h:220
@ SYNC_TRX_SYS_SHARD
Definition: sync0types.h:269
@ SYNC_RECV
Definition: sync0types.h:244
@ SYNC_IBUF_PESS_INSERT_MUTEX
Definition: sync0types.h:308
@ SYNC_PERSIST_AUTOINC
Definition: sync0types.h:306
@ SYNC_TABLE
Definition: sync0types.h:311
@ SYNC_PAGE_ARCH
Definition: sync0types.h:257
@ SYNC_LOG_CHECKPOINTER
Definition: sync0types.h:253
@ SYNC_BUF_FLUSH_STATE
Definition: sync0types.h:225
@ SYNC_FSP
Definition: sync0types.h:286
@ SYNC_TRX_UNDO
Definition: sync0types.h:296
@ SYNC_TRX_I_S_LAST_READ
Definition: sync0types.h:323
@ SYNC_NO_ORDER_CHECK
This can be used to suppress order checking.
Definition: sync0types.h:336
@ SYNC_EXTERN_STORAGE
Definition: sync0types.h:288
@ SYNC_BUF_FREE_LIST
Definition: sync0types.h:227
@ SYNC_PARSER
Definition: sync0types.h:315
@ SYNC_IBUF_MUTEX
Definition: sync0types.h:283
@ SYNC_IBUF_HEADER
Definition: sync0types.h:309
@ SYNC_LOG_SN_MUTEX
Definition: sync0types.h:255
@ SYNC_LOCK_FREE_HASH
Definition: sync0types.h:212
@ SYNC_TRX_I_S_RWLOCK
Definition: sync0types.h:325
@ RW_LOCK_S
Definition: sync0types.h:208
@ SYNC_TEMP_SPACE_RSEG
Definition: sync0types.h:293
@ SYNC_TREE_NODE_FROM_HASH
Definition: sync0types.h:299
@ SYNC_PURGE_LATCH
Definition: sync0types.h:297
@ SYNC_MONITOR_MUTEX
Definition: sync0types.h:214
@ SYNC_PERSIST_DIRTY_TABLES
Definition: sync0types.h:305
@ SYNC_LOCK_WAIT_SYS
Definition: sync0types.h:273
@ SYNC_LOG_FLUSH_NOTIFIER
Definition: sync0types.h:251
@ SYNC_ALTER_STAGE
Definition: sync0types.h:218
@ SYNC_INDEX_ONLINE_LOG
Definition: sync0types.h:275
@ SYNC_TEMP_POOL_MANAGER
Definition: sync0types.h:287
@ SYNC_ANY_LATCH
Definition: sync0types.h:216
@ SYNC_FTS_OPTIMIZE
Definition: sync0types.h:241
@ SYNC_PAGE_ARCH_OPER
Definition: sync0types.h:222
@ SYNC_RSEG_HEADER_NEW
Definition: sync0types.h:292
@ SYNC_UNDO_DDL
Definition: sync0types.h:317
@ SYNC_IBUF_INDEX_TREE
Definition: sync0types.h:281
@ SYNC_DICT_OPERATION
Definition: sync0types.h:319
@ SYNC_TRX_SYS_HEADER
Definition: sync0types.h:262
@ SYNC_RSEGS
Definition: sync0types.h:302
@ SYNC_IBUF_TREE_NODE_NEW
Definition: sync0types.h:280
@ RW_LOCK_X
Definition: sync0types.h:209
@ SYNC_IBUF_TREE_NODE
Definition: sync0types.h:279
@ SYNC_THREADS
Definition: sync0types.h:265
@ SYNC_LEVEL_MAX
Maximum level value.
Definition: sync0types.h:339
@ SYNC_WORK_QUEUE
Definition: sync0types.h:238
@ SYNC_DBLWR
Definition: sync0types.h:234
@ RW_LOCK_NOT_LOCKED
Definition: sync0types.h:210
@ RW_LOCK_X_WAIT
Definition: sync0types.h:207
@ SYNC_PAGE_ARCH_CLIENT
Definition: sync0types.h:258
@ SYNC_IBUF_BITMAP_MUTEX
Definition: sync0types.h:278
@ SYNC_INDEX_TREE
Definition: sync0types.h:301
@ SYNC_SEARCH_SYS
Definition: sync0types.h:236
@ SYNC_TRX_SYS_RSEG
Definition: sync0types.h:295
@ SYNC_LOG_SN
Definition: sync0types.h:254
@ SYNC_AHI_ENABLED
Definition: sync0types.h:321
@ SYNC_UNKNOWN
Definition: sync0types.h:202
void sync_file_created_deregister(const void *ptr)
Deregister a latch, called when it is destroyed.
Definition: sync0debug.cc:1657
rw_lock_flag_t
Definition: sync0types.h:1214
@ RW_LOCK_FLAG_X
Definition: sync0types.h:1216
@ RW_LOCK_FLAG_SX
Definition: sync0types.h:1217
@ RW_LOCK_FLAG_S
Definition: sync0types.h:1215
mysql_pfs_key_t sync_latch_get_pfs_key(latch_id_t id)
Get the latch PFS key from the latch ID.
Definition: sync0types.h:924
bool innodb_calling_exit
Set when InnoDB has invoked exit().
Definition: srv0srv.cc:228
std::string sync_file_created_get(const void *ptr)
Get the string where the file was created.
Definition: sync0debug.cc:1664
ulint rw_lock_flags_t
Definition: sync0types.h:1211
Version control for database, common definitions, and include files.
#define UNIV_PFS_MUTEX
Definition: univ.i:131
#define UNIV_NOTHROW
Definition: univ.i:456
unsigned long int ulint
Definition: univ.i:406
#define ut_error
Abort execution.
Definition: ut0dbg.h:101
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:105
#define ut_d(EXPR)
Debug statement.
Definition: ut0dbg.h:107
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:93
Base of InnoDB utilities.
Dynamic memory allocation routines and custom allocators specifically crafted to support memory instr...
#define UT_NEW_THIS_FILE_PSI_KEY
Definition: ut0new.h:566
unsigned long id[MAX_DEAD]
Definition: xcom_base.cc:510