MySQL 8.3.0
Source Code Documentation
Event_scheduler Class Reference

#include <event_scheduler.h>

Public Member Functions

 Event_scheduler (Event_queue *event_queue_arg)
 
 ~Event_scheduler ()
 
bool start (int *err_no)
 Starts the scheduler (again). More...
 
bool stop ()
 Stops the scheduler (again). More...
 
bool run (THD *thd)
 
bool is_running ()
 
void dump_internal_status ()
 

Private Types

enum  enum_state { INITIALIZED = 0 , RUNNING , STOPPING }
 

Private Member Functions

int workers_count ()
 
bool execute_top (Event_queue_element_for_exec *event_name)
 
void lock_data (const char *func, uint line)
 
void unlock_data (const char *func, uint line)
 
void cond_wait (THD *thd, struct timespec *abstime, const PSI_stage_info *stage, const char *src_func, const char *src_file, uint src_line)
 
 Event_scheduler (const Event_scheduler &)=delete
 
void operator= (Event_scheduler &)=delete
 

Private Attributes

mysql_mutex_t LOCK_scheduler_state
 
enum enum_state state
 
THDscheduler_thd
 
mysql_cond_t COND_state
 
Event_queuequeue
 
uint mutex_last_locked_at_line
 
uint mutex_last_unlocked_at_line
 
const char * mutex_last_locked_in_func
 
const char * mutex_last_unlocked_in_func
 
bool mutex_scheduler_data_locked
 
bool waiting_on_cond
 
ulonglong started_events
 

Member Enumeration Documentation

◆ enum_state

Enumerator
INITIALIZED 
RUNNING 
STOPPING 

Constructor & Destructor Documentation

◆ Event_scheduler()

Event_scheduler::Event_scheduler ( const Event_scheduler )
privatedelete

Member Function Documentation

◆ operator=()

void Event_scheduler::operator= ( Event_scheduler )
privatedelete

Member Data Documentation

◆ COND_state

mysql_cond_t Event_scheduler::COND_state
private

◆ LOCK_scheduler_state

mysql_mutex_t Event_scheduler::LOCK_scheduler_state
private

◆ mutex_last_locked_at_line

uint Event_scheduler::mutex_last_locked_at_line
private

◆ mutex_last_locked_in_func

const char* Event_scheduler::mutex_last_locked_in_func
private

◆ mutex_last_unlocked_at_line

uint Event_scheduler::mutex_last_unlocked_at_line
private

◆ mutex_last_unlocked_in_func

const char* Event_scheduler::mutex_last_unlocked_in_func
private

◆ mutex_scheduler_data_locked

bool Event_scheduler::mutex_scheduler_data_locked
private

◆ queue

Event_queue* Event_scheduler::queue
private

◆ scheduler_thd

THD* Event_scheduler::scheduler_thd
private

◆ started_events

ulonglong Event_scheduler::started_events
private

◆ state

enum enum_state Event_scheduler::state
private

◆ waiting_on_cond

bool Event_scheduler::waiting_on_cond
private

The documentation for this class was generated from the following files: