480 InitializeCriticalSection((LPCRITICAL_SECTION)&
m_mutex);
483 int ret = pthread_mutex_init(&
m_mutex,
nullptr);
498 DeleteCriticalSection((LPCRITICAL_SECTION)&
m_mutex);
502 ret = pthread_mutex_destroy(&
m_mutex);
505#ifdef UNIV_NO_ERR_MSGS
510 <<
"Return value " << ret <<
" when calling pthread_mutex_destroy().";
520 LeaveCriticalSection(&
m_mutex);
522 int ret = pthread_mutex_unlock(&
m_mutex);
531 EnterCriticalSection((LPCRITICAL_SECTION)&
m_mutex);
533 int ret = pthread_mutex_lock(&
m_mutex);
545 return (TryEnterCriticalSection(&
m_mutex) != 0);
547 return (pthread_mutex_trylock(&
m_mutex) == 0);
554#if defined(UNIV_LIBRARY) && defined(UNIV_DEBUG)
581#define LATCH_ADD_MUTEX(id, level, key) \
582 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
583 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level, key)
585#ifdef UNIV_PFS_RWLOCK
591#define LATCH_ADD_RWLOCK(id, level, key) \
592 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
593 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level, key)
595#define LATCH_ADD_RWLOCK(id, level, key) \
596 latch_meta[LATCH_ID_##id] = \
597 ut::new_withkey<latch_meta_t>(UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, \
598 #id, level, #level, PSI_NOT_INSTRUMENTED)
602#define LATCH_ADD_MUTEX(id, level, key) \
603 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
604 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level)
605#define LATCH_ADD_RWLOCK(id, level, key) \
606 latch_meta[LATCH_ID_##id] = ut::new_withkey<latch_meta_t>( \
607 UT_NEW_THIS_FILE_PSI_KEY, LATCH_ID_##id, #id, level, #level)
712 template <
typename Callback>
716 std::forward<Callback>(callback)(
count);
726 count->m_enabled =
true;
739 count->m_enabled =
false;
770template <
typename Counter = LatchCounter>
802 const char *level_name
870typedef std::vector<latch_meta_t *, ut::allocator<latch_meta_t *>>
926#ifndef UNIV_HOTBACKUP
1083#ifdef UNIV_NO_ERR_MSGS
1088 <<
"Debug: Calling thread does not hold search "
1089 "latch but does hold latch level "
1129#ifdef UNIV_NO_ERR_MSGS
1134 <<
"Debug: Dictionary latch order violation for level " << level
1174 if (level == allowed_level) {
1182#ifdef UNIV_NO_ERR_MSGS
1187 <<
"Debug: sync_allowed_latches violation for level=" << level;
1200 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:611
LatchCounter(const LatchCounter &)
bool is_enabled() const 1
Definition: sync0types.h:748
void single_deregister(Count *count) 1
Deregister a single instance counter.
Definition: sync0types.h:702
Counters m_counters
Counters for the latches.
Definition: sync0types.h:763
LatchCounter() 1
Constructor.
Definition: sync0types.h:641
void sum_deregister(Count *count) const 1
Deregister the count.
Definition: sync0types.h:687
void iterate(Callback &&callback) const 1
Iterate over the counters.
Definition: sync0types.h:713
Mutex m_mutex
Mutex protecting m_counters.
Definition: sync0types.h:760
void disable() 1
Disable the monitoring.
Definition: sync0types.h:735
LatchCounter & operator=(const LatchCounter &)
OSMutex Mutex
Definition: sync0types.h:756
~LatchCounter() 1
Destructor.
Definition: sync0types.h:644
bool m_active
if true then we collect the data
Definition: sync0types.h:766
void single_register(Count *count) 1
Register a single instance counter.
Definition: sync0types.h:692
std::vector< Count * > Counters
Definition: sync0types.h:757
void enable() 1
Disable the monitoring.
Definition: sync0types.h:722
void reset() 1
Reset all counters to zero.
Definition: sync0types.h:656
Count * sum_register() 1
Definition: sync0types.h:667
The class error is used to emit error messages.
Definition: ut0log.h:230
static int count
Definition: myisam_ftdump.cc:43
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:145
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:809
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:33
The counts we collect for a mutex.
Definition: sync0types.h:614
uint32_t m_spins
Number of spins trying to acquire the latch.
Definition: sync0types.h:628
void reset() 1
Rest the values to zero.
Definition: sync0types.h:621
uint32_t m_calls
Number of times it was called.
Definition: sync0types.h:634
Count() 1
Constructor.
Definition: sync0types.h:616
uint32_t m_waits
Number of waits trying to acquire the latch.
Definition: sync0types.h:631
bool m_enabled
true if enabled
Definition: sync0types.h:637
OS mutex, without any policy.
Definition: sync0types.h:471
void exit() 1
Release the mutex.
Definition: sync0types.h:517
OSMutex() 1
Constructor.
Definition: sync0types.h:473
bool try_lock() 1
Definition: sync0types.h:542
void enter() 1
Acquire the mutex.
Definition: sync0types.h:528
sys_mutex_t m_mutex
Definition: sync0types.h:571
~OSMutex()=default
Destructor.
void lock()
Definition: sync0types.h:538
bool m_freed
true if the mutex has been freed/destroyed.
Definition: sync0types.h:568
void init() 1
Create the mutex by calling the system functions.
Definition: sync0types.h:476
void unlock()
Definition: sync0types.h:539
void destroy() 1
Destroy the mutex.
Definition: sync0types.h:495
Functor to check whether the calling thread owns the btr search mutex.
Definition: sync0types.h:1048
const bool m_has_search_latch
If the caller owns the search latch.
Definition: sync0types.h:1106
btrsea_sync_check(bool has_search_latch)
Constructor.
Definition: sync0types.h:1051
bool m_result
True if all OK.
Definition: sync0types.h:1103
bool operator()(const latch_level_t level) override
Called for every latch owned by the calling thread.
Definition: sync0types.h:1060
~btrsea_sync_check() override=default
Destructor.
bool result() const override
Definition: sync0types.h:1099
Functor to check for dictionary latching constraints.
Definition: sync0types.h:1110
dict_sync_check(bool dict_mutex_allowed)
Constructor.
Definition: sync0types.h:1114
const bool m_dict_mutex_allowed
True if it is OK to hold the dict mutex.
Definition: sync0types.h:1151
bool m_result
True if all OK.
Definition: sync0types.h:1148
bool operator()(const latch_level_t level) override
Check the latching constraints.
Definition: sync0types.h:1122
~dict_sync_check() override=default
Destructor.
virtual bool result() const override
Definition: sync0types.h:1144
All (ordered) latches, used in debugging, must derive from this class.
Definition: sync0types.h:960
latch_level_t get_level() const 1
Definition: sync0types.h:986
bool is_rw_lock() const 1
Definition: sync0types.h:976
bool m_temp_fsp
true if it is an temporary space latch
Definition: sync0types.h:1037
latch_id_t m_id
Latch ID.
Definition: sync0types.h:1030
virtual ~latch_t() 1=default
Destructor.
void set_temp_fsp() 1
Set the temporary tablespace flag.
Definition: sync0types.h:1008
latch_t & operator=(const latch_t &)=default
bool is_temp_fsp() const 1
Definition: sync0types.h:1002
virtual std::string locked_from() const =0
bool m_rw_lock
true if it is a rw-lock.
Definition: sync0types.h:1034
latch_id_t get_id() const
Definition: sync0types.h:973
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:963
const char * get_name() const 1
Definition: sync0types.h:1014
Define for performance schema registration key.
Definition: sync0sync.h:51
Functor to check for given latching constraints.
Definition: sync0types.h:1155
virtual bool result() const override
Definition: sync0types.h:1193
std::vector< latch_level_t, ut::allocator< latch_level_t > > latches_t
Definition: sync0types.h:1200
bool m_result
Save the result of validation check here True if all OK.
Definition: sync0types.h:1198
sync_allowed_latches(const latch_level_t *from, const latch_level_t *to)
Constructor.
Definition: sync0types.h:1159
latches_t m_latches
List of latch levels that are allowed to be held.
Definition: sync0types.h:1203
sync_allowed_latches()
Default constructor.
Definition: sync0types.h:1163
virtual bool operator()(const latch_level_t level) override
Check whether the given latch_t violates the latch constraint.
Definition: sync0types.h:1172
Subclass this to iterate over a thread's acquired latch levels.
Definition: sync0types.h:1041
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:1191
pthread_mutex_t sys_mutex_t
Native mutex.
Definition: sync0types.h:56
LatchMeta< LatchCounter > latch_meta_t
Definition: sync0types.h:869
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:234
latch_level_t sync_latch_get_level(latch_id_t id)
Get the latch ordering level.
Definition: sync0types.h:909
const char * sync_latch_get_name(latch_id_t id)
Get the latch name from the latch ID.
Definition: sync0types.h:900
std::vector< latch_meta_t *, ut::allocator< latch_meta_t * > > LatchMetaData
Definition: sync0types.h:871
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:1641
latch_meta_t & sync_latch_get_meta(latch_id_t id)
Get the latch meta-data from the latch ID.
Definition: sync0types.h:881
latch_id_t
Each latch has an ID.
Definition: sync0types.h:342
@ LATCH_ID_LOG_SN_MUTEX
Definition: sync0types.h:378
@ LATCH_ID_LOG_WRITE_NOTIFIER
Definition: sync0types.h:383
@ LATCH_ID_DBLR
Definition: sync0types.h:460
@ LATCH_ID_DICT_TABLE
Definition: sync0types.h:360
@ LATCH_ID_FILE_OPEN
Definition: sync0types.h:455
@ LATCH_ID_SRV_INNODB_MONITOR
Definition: sync0types.h:410
@ LATCH_ID_LOG_CHECKPOINTER
Definition: sync0types.h:379
@ LATCH_ID_RTR_SSN_MUTEX
Definition: sync0types.h:405
@ LATCH_ID_WORK_QUEUE
Definition: sync0types.h:434
@ LATCH_ID_CLONE_TASK
Definition: sync0types.h:457
@ LATCH_ID_TRX_POOL_MANAGER
Definition: sync0types.h:416
@ LATCH_ID_LOG_WRITER
Definition: sync0types.h:381
@ LATCH_ID_BUF_POOL_ZIP
Definition: sync0types.h:348
@ LATCH_ID_LOCK_FREE_HASH
Definition: sync0types.h:372
@ LATCH_ID_FTS_DOC_ID
Definition: sync0types.h:366
@ LATCH_ID_LOG_LIMITS
Definition: sync0types.h:385
@ LATCH_ID_DBLWR_SPACE_CACHE
Definition: sync0types.h:355
@ LATCH_ID_TEST_MUTEX
Definition: sync0types.h:463
@ LATCH_ID_BUF_POOL_ZIP_HASH
Definition: sync0types.h:352
@ LATCH_ID_LOCK_SYS_PAGE
Definition: sync0types.h:374
@ LATCH_ID_LOG_SN
Definition: sync0types.h:377
@ LATCH_ID_TRX
Definition: sync0types.h:418
@ LATCH_ID_FLUSH_LIST
Definition: sync0types.h:362
@ LATCH_ID_EVENT_MANAGER
Definition: sync0types.h:425
@ LATCH_ID_TEMP_SPACE_RSEG
Definition: sync0types.h:401
@ LATCH_ID_UNDO_SPACE_RSEG
Definition: sync0types.h:402
@ LATCH_ID_BUF_CHUNK_MAP_LATCH
Definition: sync0types.h:452
@ LATCH_ID_DICT_PERSIST_CHECKPOINT
Definition: sync0types.h:395
@ LATCH_ID_LOCK_SYS_GLOBAL
Definition: sync0types.h:373
@ LATCH_ID_LOG_ARCH
Definition: sync0types.h:388
@ LATCH_ID_DICT_PERSIST_DIRTY_TABLES
Definition: sync0types.h:393
@ LATCH_ID_RW_LOCK_LIST
Definition: sync0types.h:409
@ LATCH_ID_IBUF_BITMAP
Definition: sync0types.h:369
@ LATCH_ID_RECV_SYS
Definition: sync0types.h:399
@ LATCH_ID_DICT_TABLE_STATS
Definition: sync0types.h:450
@ LATCH_ID_FTS_CACHE
Definition: sync0types.h:444
@ LATCH_ID_IBUF_INDEX_TREE
Definition: sync0types.h:448
@ LATCH_ID_DICT_FOREIGN_ERR
Definition: sync0types.h:358
@ LATCH_ID_PERSIST_AUTOINC
Definition: sync0types.h:394
@ LATCH_ID_UNDO_SPACES
Definition: sync0types.h:441
@ LATCH_ID_LOG_FILES
Definition: sync0types.h:386
@ LATCH_ID_FTS_OPTIMIZE
Definition: sync0types.h:365
@ LATCH_ID_RTR_ACTIVE_MUTEX
Definition: sync0types.h:406
@ LATCH_ID_PURGE_SYS_PQ
Definition: sync0types.h:397
@ LATCH_ID_MASTER_KEY_ID_MUTEX
Definition: sync0types.h:454
@ LATCH_ID_PAGE_ARCH
Definition: sync0types.h:389
@ LATCH_ID_RW_LOCK_DEBUG
Definition: sync0types.h:404
@ LATCH_ID_IBUF_PESSIMISTIC_INSERT
Definition: sync0types.h:371
@ LATCH_ID_TRX_SYS
Definition: sync0types.h:419
@ LATCH_ID_AHI_ENABLED
Definition: sync0types.h:344
@ LATCH_ID_FIL_SHARD
Definition: sync0types.h:361
@ LATCH_ID_OS_AIO_WRITE_MUTEX
Definition: sync0types.h:430
@ LATCH_ID_TRX_UNDO
Definition: sync0types.h:414
@ LATCH_ID_TRX_I_S_CACHE
Definition: sync0types.h:446
@ LATCH_ID_UNDO_DDL
Definition: sync0types.h:442
@ LATCH_ID_BTR_SEARCH
Definition: sync0types.h:435
@ LATCH_ID_HASH_TABLE_MUTEX
Definition: sync0types.h:368
@ LATCH_ID_PAGE_ARCH_CLIENT
Definition: sync0types.h:391
@ LATCH_ID_ROW_DROP_LIST
Definition: sync0types.h:432
@ LATCH_ID_RECV_WRITER
Definition: sync0types.h:400
@ LATCH_ID_CLONE_SNAPSHOT
Definition: sync0types.h:458
@ LATCH_ID_TRX_PURGE
Definition: sync0types.h:447
@ LATCH_ID_TRX_POOL
Definition: sync0types.h:415
@ LATCH_ID_INDEX_TREE
Definition: sync0types.h:449
@ LATCH_ID_RTR_MATCH_MUTEX
Definition: sync0types.h:407
@ LATCH_ID_BUF_BLOCK_DEBUG
Definition: sync0types.h:437
@ LATCH_ID_MAX
Definition: sync0types.h:464
@ LATCH_ID_SRV_MISC_TMPFILE
Definition: sync0types.h:411
@ LATCH_ID_TRX_SYS_SERIALISATION
Definition: sync0types.h:421
@ LATCH_ID_BUF_POOL_CHUNKS
Definition: sync0types.h:347
@ LATCH_ID_HASH_TABLE_RW_LOCK
Definition: sync0types.h:451
@ LATCH_ID_CACHE_LAST_READ
Definition: sync0types.h:357
@ LATCH_ID_BUF_POOL_ZIP_FREE
Definition: sync0types.h:351
@ LATCH_ID_LOG_FLUSHER
Definition: sync0types.h:382
@ LATCH_ID_CLONE_SYS
Definition: sync0types.h:456
@ LATCH_ID_OS_AIO_IBUF_MUTEX
Definition: sync0types.h:431
@ LATCH_ID_PAGE_ARCH_OPER
Definition: sync0types.h:390
@ LATCH_ID_TRX_SYS_RSEG
Definition: sync0types.h:403
@ LATCH_ID_FTS_BG_THREADS
Definition: sync0types.h:363
@ LATCH_ID_SRV_SYS_TASKS
Definition: sync0types.h:423
@ LATCH_ID_RECALC_POOL
Definition: sync0types.h:398
@ LATCH_ID_LOCK_SYS_WAIT
Definition: sync0types.h:376
@ LATCH_ID_SYNC_DEBUG_MUTEX
Definition: sync0types.h:453
@ LATCH_ID_PARSER
Definition: sync0types.h:387
@ LATCH_ID_DBLWR
Definition: sync0types.h:354
@ LATCH_ID_LOG_CLOSER
Definition: sync0types.h:380
@ LATCH_ID_CHECKPOINT
Definition: sync0types.h:439
@ LATCH_ID_INDEX_ONLINE_LOG
Definition: sync0types.h:433
@ LATCH_ID_BUF_BLOCK_MUTEX
Definition: sync0types.h:346
@ LATCH_ID_FTS_DELETE
Definition: sync0types.h:364
@ LATCH_ID_DICT_OPERATION
Definition: sync0types.h:438
@ LATCH_ID_AUTOINC
Definition: sync0types.h:345
@ LATCH_ID_REDO_LOG_ARCHIVE_QUEUE_MUTEX
Definition: sync0types.h:462
@ LATCH_ID_NONE
Definition: sync0types.h:343
@ LATCH_ID_LOG_FLUSH_NOTIFIER
Definition: sync0types.h:384
@ LATCH_ID_SYNC_THREAD
Definition: sync0types.h:413
@ LATCH_ID_IBUF
Definition: sync0types.h:370
@ LATCH_ID_LOCK_SYS_TABLE
Definition: sync0types.h:375
@ LATCH_ID_FTS_CACHE_INIT
Definition: sync0types.h:445
@ LATCH_ID_OS_AIO_READ_MUTEX
Definition: sync0types.h:429
@ LATCH_ID_BUF_BLOCK_LOCK
Definition: sync0types.h:436
@ LATCH_ID_FTS_PLL_TOKENIZE
Definition: sync0types.h:367
@ LATCH_ID_FIL_SPACE
Definition: sync0types.h:443
@ LATCH_ID_TEMP_POOL_MANAGER
Definition: sync0types.h:417
@ LATCH_ID_BUF_POOL_LRU_LIST
Definition: sync0types.h:349
@ LATCH_ID_DICT_SYS
Definition: sync0types.h:359
@ LATCH_ID_SYNC_ARRAY_MUTEX
Definition: sync0types.h:427
@ LATCH_ID_TRX_SYS_SHARD
Definition: sync0types.h:420
@ LATCH_ID_REDO_LOG_ARCHIVE_ADMIN_MUTEX
Definition: sync0types.h:461
@ LATCH_ID_PAGE_ZIP_STAT_PER_INDEX
Definition: sync0types.h:424
@ LATCH_ID_BUF_POOL_FLUSH_STATE
Definition: sync0types.h:353
@ LATCH_ID_PERSIST_METADATA_BUFFER
Definition: sync0types.h:392
@ LATCH_ID_PAGE_CLEANER
Definition: sync0types.h:396
@ LATCH_ID_SRV_MONITOR_FILE
Definition: sync0types.h:412
@ LATCH_ID_DDL_AUTOINC
Definition: sync0types.h:356
@ LATCH_ID_SRV_SYS
Definition: sync0types.h:422
@ LATCH_ID_PARALLEL_READ
Definition: sync0types.h:459
@ LATCH_ID_RSEGS
Definition: sync0types.h:440
@ LATCH_ID_RTR_PATH_MUTEX
Definition: sync0types.h:408
@ LATCH_ID_BUF_POOL_FREE_LIST
Definition: sync0types.h:350
@ LATCH_ID_ZIP_PAD_MUTEX
Definition: sync0types.h:428
@ LATCH_ID_EVENT_MUTEX
Definition: sync0types.h:426
latch_meta_t::CounterType * sync_latch_get_counter(latch_id_t id)
Fetch the counter for the latch.
Definition: sync0types.h:891
const char * sync_basename(const char *filename)
Print the filename "basename".
Definition: sync0sync.cc:217
latch_level_t
Latching order levels.
Definition: sync0types.h:201
@ SYNC_TREE_NODE_NEW
Definition: sync0types.h:297
@ SYNC_LOG_WRITER
Definition: sync0types.h:247
@ SYNC_DICT
Definition: sync0types.h:311
@ SYNC_FTS_BG_THREADS
Definition: sync0types.h:240
@ SYNC_BUF_LRU_LIST
Definition: sync0types.h:229
@ SYNC_BUF_BLOCK
Definition: sync0types.h:227
@ SYNC_LOG_FLUSHER
Definition: sync0types.h:245
@ SYNC_DICT_AUTOINC_MUTEX
Definition: sync0types.h:310
@ SYNC_IBUF_BITMAP
Definition: sync0types.h:274
@ SYNC_POOL
Definition: sync0types.h:264
@ SYNC_LOG_FILES
Definition: sync0types.h:246
@ SYNC_BUF_CHUNKS
Definition: sync0types.h:230
@ SYNC_STATS_AUTO_RECALC
Definition: sync0types.h:309
@ SYNC_TRX_SYS
Definition: sync0types.h:267
@ SYNC_UNDO_SPACE_RSEG
Definition: sync0types.h:291
@ SYNC_BUF_ZIP_HASH
Definition: sync0types.h:224
@ SYNC_TREE_NODE
Definition: sync0types.h:295
@ SYNC_FSP_PAGE
Definition: sync0types.h:282
@ SYNC_FTS_CACHE_INIT
Definition: sync0types.h:241
@ SYNC_BUF_PAGE_HASH
Definition: sync0types.h:228
@ SYNC_TRX
Definition: sync0types.h:263
@ SYNC_LOG_WRITE_NOTIFIER
Definition: sync0types.h:248
@ SYNC_POOL_MANAGER
Definition: sync0types.h:265
@ SYNC_BUF_ZIP_FREE
Definition: sync0types.h:226
@ SYNC_FTS_TOKENIZE
Definition: sync0types.h:238
@ SYNC_MUTEX
Definition: sync0types.h:204
@ SYNC_TRX_SYS_SERIALISATION
Definition: sync0types.h:260
@ SYNC_PURGE_QUEUE
Definition: sync0types.h:261
@ SYNC_BUF_FLUSH_LIST
Definition: sync0types.h:222
@ SYNC_UNDO_SPACES
Definition: sync0types.h:300
@ SYNC_LOG_CLOSER
Definition: sync0types.h:250
@ SYNC_RSEG_ARRAY_HEADER
Definition: sync0types.h:286
@ SYNC_RECV_WRITER
Definition: sync0types.h:324
@ SYNC_FTS_CACHE
Definition: sync0types.h:313
@ SYNC_LOG_ARCH
Definition: sync0types.h:256
@ RW_LOCK_SX
Definition: sync0types.h:206
@ SYNC_LOCK_SYS_GLOBAL
Definition: sync0types.h:269
@ SYNC_DICT_HEADER
Definition: sync0types.h:307
@ SYNC_LOCK_SYS_SHARDED
Definition: sync0types.h:268
@ SYNC_PAGE_CLEANER
Definition: sync0types.h:258
@ SYNC_RSEG_HEADER
Definition: sync0types.h:288
@ SYNC_LOG_LIMITS
Definition: sync0types.h:244
@ SYNC_LEVEL_VARYING
Level is varying.
Definition: sync0types.h:330
@ SYNC_TRX_UNDO_PAGE
Definition: sync0types.h:287
@ SYNC_FIL_SHARD
Definition: sync0types.h:218
@ SYNC_TRX_SYS_SHARD
Definition: sync0types.h:266
@ SYNC_RECV
Definition: sync0types.h:242
@ SYNC_IBUF_PESS_INSERT_MUTEX
Definition: sync0types.h:305
@ SYNC_PERSIST_AUTOINC
Definition: sync0types.h:303
@ SYNC_TABLE
Definition: sync0types.h:308
@ SYNC_PAGE_ARCH
Definition: sync0types.h:254
@ SYNC_LOG_CHECKPOINTER
Definition: sync0types.h:251
@ SYNC_BUF_FLUSH_STATE
Definition: sync0types.h:223
@ SYNC_FSP
Definition: sync0types.h:283
@ SYNC_TRX_UNDO
Definition: sync0types.h:293
@ SYNC_TRX_I_S_LAST_READ
Definition: sync0types.h:320
@ SYNC_NO_ORDER_CHECK
This can be used to suppress order checking.
Definition: sync0types.h:333
@ SYNC_EXTERN_STORAGE
Definition: sync0types.h:285
@ SYNC_BUF_FREE_LIST
Definition: sync0types.h:225
@ SYNC_PARSER
Definition: sync0types.h:312
@ SYNC_IBUF_MUTEX
Definition: sync0types.h:280
@ SYNC_IBUF_HEADER
Definition: sync0types.h:306
@ SYNC_LOG_SN_MUTEX
Definition: sync0types.h:253
@ SYNC_LOCK_FREE_HASH
Definition: sync0types.h:212
@ SYNC_TRX_I_S_RWLOCK
Definition: sync0types.h:322
@ RW_LOCK_S
Definition: sync0types.h:208
@ SYNC_TEMP_SPACE_RSEG
Definition: sync0types.h:290
@ SYNC_TREE_NODE_FROM_HASH
Definition: sync0types.h:296
@ SYNC_PURGE_LATCH
Definition: sync0types.h:294
@ SYNC_MONITOR_MUTEX
Definition: sync0types.h:214
@ SYNC_PERSIST_DIRTY_TABLES
Definition: sync0types.h:302
@ SYNC_LOCK_WAIT_SYS
Definition: sync0types.h:270
@ SYNC_LOG_FLUSH_NOTIFIER
Definition: sync0types.h:249
@ SYNC_INDEX_ONLINE_LOG
Definition: sync0types.h:272
@ SYNC_TEMP_POOL_MANAGER
Definition: sync0types.h:284
@ SYNC_ANY_LATCH
Definition: sync0types.h:216
@ SYNC_FTS_OPTIMIZE
Definition: sync0types.h:239
@ SYNC_PAGE_ARCH_OPER
Definition: sync0types.h:220
@ SYNC_RSEG_HEADER_NEW
Definition: sync0types.h:289
@ SYNC_UNDO_DDL
Definition: sync0types.h:314
@ SYNC_IBUF_INDEX_TREE
Definition: sync0types.h:278
@ SYNC_DICT_OPERATION
Definition: sync0types.h:316
@ SYNC_TRX_SYS_HEADER
Definition: sync0types.h:259
@ SYNC_RSEGS
Definition: sync0types.h:299
@ SYNC_IBUF_TREE_NODE_NEW
Definition: sync0types.h:277
@ RW_LOCK_X
Definition: sync0types.h:209
@ SYNC_IBUF_TREE_NODE
Definition: sync0types.h:276
@ SYNC_THREADS
Definition: sync0types.h:262
@ SYNC_LEVEL_MAX
Maximum level value.
Definition: sync0types.h:336
@ SYNC_WORK_QUEUE
Definition: sync0types.h:236
@ SYNC_DBLWR
Definition: sync0types.h:232
@ RW_LOCK_NOT_LOCKED
Definition: sync0types.h:210
@ RW_LOCK_X_WAIT
Definition: sync0types.h:207
@ SYNC_PAGE_ARCH_CLIENT
Definition: sync0types.h:255
@ SYNC_IBUF_BITMAP_MUTEX
Definition: sync0types.h:275
@ SYNC_INDEX_TREE
Definition: sync0types.h:298
@ SYNC_SEARCH_SYS
Definition: sync0types.h:234
@ SYNC_TRX_SYS_RSEG
Definition: sync0types.h:292
@ SYNC_LOG_SN
Definition: sync0types.h:252
@ SYNC_AHI_ENABLED
Definition: sync0types.h:318
@ 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:1648
rw_lock_flag_t
Definition: sync0types.h:1209
@ RW_LOCK_FLAG_X
Definition: sync0types.h:1211
@ RW_LOCK_FLAG_SX
Definition: sync0types.h:1212
@ RW_LOCK_FLAG_S
Definition: sync0types.h:1210
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:919
bool innodb_calling_exit
Set when InnoDB has invoked exit().
Definition: srv0srv.cc:226
std::string sync_file_created_get(const void *ptr)
Get the string where the file was created.
Definition: sync0debug.cc:1655
ulint rw_lock_flags_t
Definition: sync0types.h:1206
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:65
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:69
#define ut_d(EXPR)
Debug statement.
Definition: ut0dbg.h:71
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:57
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:564
unsigned long id[MAX_DEAD]
Definition: xcom_base.cc:510