Drizzled Public API Documentation

sync_cell_struct Struct Reference

Public Attributes

void * wait_object
 
mutex_told_wait_mutex
 
rw_lock_told_wait_rw_lock
 
ulint request_type
 
const char * file
 
ulint line
 
os_thread_id_t thread
 
ibool waiting
 
ib_int64_t signal_count
 
time_t reservation_time
 

Detailed Description

A cell where an individual thread may wait suspended until a resource is released. The suspending is implemented using an operating system event semaphore.

Definition at line 81 of file sync0arr.cc.

Member Data Documentation

const char* sync_cell_struct::file

in debug version file where requested

Definition at line 91 of file sync0arr.cc.

Referenced by sync_array_reserve_cell().

ulint sync_cell_struct::line

in debug version line where requested

Definition at line 93 of file sync0arr.cc.

Referenced by sync_array_reserve_cell().

mutex_t* sync_cell_struct::old_wait_mutex

the latest wait mutex in cell

Definition at line 85 of file sync0arr.cc.

Referenced by sync_array_reserve_cell().

rw_lock_t* sync_cell_struct::old_wait_rw_lock

the latest wait rw-lock in cell

Definition at line 86 of file sync0arr.cc.

Referenced by sync_array_reserve_cell().

ulint sync_cell_struct::request_type

lock type requested on the object

Definition at line 89 of file sync0arr.cc.

Referenced by sync_array_reserve_cell().

time_t sync_cell_struct::reservation_time

time when the thread reserved the wait cell

Definition at line 108 of file sync0arr.cc.

Referenced by sync_array_print_long_waits(), and sync_array_reserve_cell().

ib_int64_t sync_cell_struct::signal_count

We capture the signal_count of the wait_object when we reset the event. This value is then passed on to os_event_wait and we wait only if the event has not been signalled in the period between the reset and wait call.

Definition at line 100 of file sync0arr.cc.

Referenced by sync_array_free_cell(), sync_array_reserve_cell(), and sync_array_wait_event().

os_thread_id_t sync_cell_struct::thread

thread id of this waiting thread

Definition at line 95 of file sync0arr.cc.

Referenced by sync_array_print_long_waits(), sync_array_reserve_cell(), and sync_array_wait_event().

void* sync_cell_struct::wait_object

pointer to the object the thread is waiting for; if NULL the cell is free for use

Definition at line 82 of file sync0arr.cc.

Referenced by sync_arr_wake_threads_if_sema_free(), sync_array_free_cell(), sync_array_print_long_waits(), sync_array_reserve_cell(), sync_array_validate(), and sync_array_wait_event().

ibool sync_cell_struct::waiting

TRUE if the thread has already called sync_array_event_wait on this cell

Definition at line 97 of file sync0arr.cc.

Referenced by sync_array_free_cell(), sync_array_print_long_waits(), sync_array_reserve_cell(), and sync_array_wait_event().


The documentation for this struct was generated from the following file: