MySQL 8.3.0
Source Code Documentation
sync0arr_impl.h File Reference

The wait array used in synchronization primitives, implementation details. More...

#include "sync0arr.h"
#include "sync0rw.h"

Go to the source code of this file.

Classes

union  sync_object_t
 The latch types that use the sync array. More...
 
struct  sync_cell_t
 A cell where an individual thread may wait suspended until a resource is released. More...
 
struct  sync_array_t
 Synchronization array. More...
 

Typedefs

typedef SyncArrayMutex::MutexType WaitMutex
 
typedef BlockSyncArrayMutex::MutexType BlockWaitMutex
 

Functions

static void sync_array_exit (sync_array_t *a)
 
static void sync_array_enter (sync_array_t *a)
 
sync_cell_tsync_array_get_nth_cell (sync_array_t *arr, ulint n)
 Gets the nth cell in array. More...
 
void sync_array_cell_print (FILE *file, const sync_cell_t *cell)
 Reports info of a wait array cell into a file. More...
 

Variables

ulint sync_array_size
 Locally stored copy of srv_sync_array_size. More...
 
sync_array_t ** sync_wait_array
 The global array of wait cells for implementation of the database's own mutexes and read-write locks. More...
 

Detailed Description

The wait array used in synchronization primitives, implementation details.

Typedef Documentation

◆ BlockWaitMutex

typedef BlockSyncArrayMutex::MutexType BlockWaitMutex

◆ WaitMutex

typedef SyncArrayMutex::MutexType WaitMutex

Function Documentation

◆ sync_array_cell_print()

void sync_array_cell_print ( FILE *  file,
const sync_cell_t cell 
)

Reports info of a wait array cell into a file.

Parameters
[in]fileFile where to print.
[in]cellSync array cell to report.

◆ sync_array_enter()

static void sync_array_enter ( sync_array_t a)
inlinestatic

◆ sync_array_exit()

static void sync_array_exit ( sync_array_t a)
inlinestatic

◆ sync_array_get_nth_cell()

sync_cell_t * sync_array_get_nth_cell ( sync_array_t arr,
ulint  n 
)

Gets the nth cell in array.

Parameters
[in]arrSync array to get cell from.
[in]nIndex of cell to retrieve.
Returns
cell

Variable Documentation

◆ sync_array_size

ulint sync_array_size
extern

Locally stored copy of srv_sync_array_size.

◆ sync_wait_array

sync_array_t** sync_wait_array
extern

The global array of wait cells for implementation of the database's own mutexes and read-write locks.