mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
WL#5363: Thread Pool Service Interface
In order to allow thread schedulers to be dynamically loaded, it is necessary to make the following changes to the server: - Two new service interfaces - Modifications to InnoDB to inform the thread scheduler of state changes. - Changes to the VIO subsystem for checking if data is available on a socket. - Elimination of remains of the old thread pool implementation. The two new service interfaces introduces are: my_thread_scheduler A service interface to register a thread scheduler. thd_wait A service interface to inform thread scheduler that the thread is about to start waiting. In addition, the patch adds code that: - Add a call to thd_wait for table locks in mysys thd_lock.c by introducing a set function that can be used to set a callback to be used when waiting on a lock and resuming from waiting. - Calling the mysys set function from the server to set the callbacks correctly.
This commit is contained in:
@ -177,7 +177,7 @@ extern ulong binlog_cache_size, open_files_limit;
|
||||
extern ulonglong max_binlog_cache_size;
|
||||
extern ulong max_binlog_size, max_relay_log_size;
|
||||
extern ulong opt_binlog_rows_event_max_size;
|
||||
extern ulong rpl_recovery_rank, thread_cache_size, thread_pool_size;
|
||||
extern ulong rpl_recovery_rank, thread_cache_size;
|
||||
extern ulong back_log;
|
||||
extern char language[FN_REFLEN];
|
||||
extern ulong server_id, concurrency;
|
||||
@ -211,7 +211,6 @@ extern int bootstrap_error;
|
||||
extern FILE *stderror_file;
|
||||
extern I_List<THD> threads;
|
||||
extern char err_shared_dir[];
|
||||
extern scheduler_functions thread_scheduler;
|
||||
extern TYPELIB thread_handling_typelib;
|
||||
extern my_decimal decimal_zero;
|
||||
|
||||
|
Reference in New Issue
Block a user