CUBRID Engine  latest
thread_manager.hpp File Reference
#include "thread_entry.hpp"
#include "thread_entry_task.hpp"
#include "thread_task.hpp"
#include "thread_waiter.hpp"
#include "base_flag.hpp"
#include <mutex>
#include <vector>
Include dependency graph for thread_manager.hpp:

Go to the source code of this file.

Classes

class  resource_shared_pool< T >
 
class  cubthread::worker_pool< Context >
 
class  cubthread::manager
 

Namespaces

 lockfree
 
 lockfree::tran
 
 cubthread
 

Typedefs

using cubthread::entry_workpool = worker_pool< entry >
 

Functions

bool cubthread::is_logging_configured (const int logging_flag)
 
void cubthread::initialize (entry *&my_entry)
 
void cubthread::finalize (void)
 
int cubthread::initialize_thread_entries (bool with_lock_free)
 
entry * cubthread::get_main_entry (void)
 
manager * cubthread::get_manager (void)
 
void cubthread::set_manager (manager *manager)
 
std::size_t cubthread::get_max_thread_count (void)
 
bool cubthread::is_single_thread (void)
 
void cubthread::check_not_single_thread (void)
 
entry & cubthread::get_entry (void)
 
void cubthread::set_thread_local_entry (entry &tl_entry)
 
void cubthread::clear_thread_local_entry (void)
 
void cubthread::return_lock_free_transaction_entries (void)
 
cubthread::managerthread_get_manager (void)
 
std::size_t thread_num_total_threads (void)
 
cubthread::entrythread_get_thread_entry_info (void)
 
int thread_get_entry_index (cubthread::entry *thread_p)
 
int thread_get_current_entry_index (void)
 
void thread_return_lock_free_transaction_entries (void)
 
lf_tran_entrythread_get_tran_entry (cubthread::entry *thread_p, int entry_idx)
 
template<typename Duration >
void thread_sleep_for (Duration d)
 
void thread_sleep (double millisec)
 

Variables

const int cubthread::LOG_MANAGER = 0x1
 
const int cubthread::LOG_MANAGER_ALL = 0xFF
 
const int cubthread::LOG_WORKER_POOL_VACUUM = 0x100
 
const int cubthread::LOG_WORKER_POOL_CONNECTIONS = 0x200
 
const int cubthread::LOG_WORKER_POOL_TRAN_WORKERS = 0x400
 
const int cubthread::LOG_WORKER_POOL_INDEX_BUILDER = 0x800
 
const int cubthread::LOG_WORKER_POOL_ALL = 0xFF00
 
const int cubthread::LOG_DAEMON_VACUUM = 0x10000
 
const int cubthread::LOG_DAEMON_ALL = 0xFFFF0000
 

Function Documentation

cubthread::entry* thread_get_thread_entry_info ( void  )
inline

Definition at line 385 of file thread_manager.hpp.

References cubthread::get_entry().

Referenced by btree_insert_list::add_key(), boot_reset_mk_after_restart_from_backup(), boot_restart_server(), boot_server_status(), mvcctable::build_mvcc_info(), catcls_compile_catalog_classes(), cnv_cleanup(), compactdb_start(), mvcctable::complete_mvcc(), crypt_default_decrypt(), crypt_default_encrypt(), crypt_sha_functions(), csect_check_own_critical_section(), csect_demote_critical_section(), csect_enter_critical_section(), csect_enter_critical_section_as_reader(), csect_exit_critical_section(), csect_promote_critical_section(), css_connection_handler_thread(), css_get_client_id(), css_get_comm_request_id(), css_get_current_conn_entry(), css_make_wait_queue_entry(), css_process_change_server_ha_mode_request(), css_process_get_eof_request(), css_return_queued_data_timeout(), db_private_alloc_debug(), db_private_realloc_debug(), db_private_realloc_external(), diagdb(), dwb_add_page(), dwb_recreate(), fi_code_item(), fi_thread_final(), fi_thread_init(), fileio_compensate_flush(), fileio_write_backup_node(), fpcache_entry_uninit(), heap_classrepr_free(), cubthread::initialize(), locator_add_oid_set(), locator_check_class_on_heap(), locator_clear_oid_set(), locator_defence_drop_class_name_entry(), locator_force_drop_class_name_entry(), locator_savepoint_class_name_entry(), locator_unpack_oid_set_to_new(), lock_get_object_lock(), lock_has_lock_on_object(), log_append_get_data_ptr(), log_append_get_zip_redo(), log_append_get_zip_undo(), log_append_realloc_data_ptr(), log_cleanup_modified_class(), log_initialize_internal(), log_recovery_abort_all_atomic_sysops(), log_recovery_finish_all_postpone(), log_rv_undo_record(), log_sysop_start(), logpb_add_archive_page_info(), logpb_find_oldest_available_arv_num(), logpb_find_oldest_available_page_id(), logpb_get_archive_num_from_info_table(), logtb_allocate_tran_index(), logtb_assign_tran_index(), logtb_free_tran_index(), logtb_get_check_interrupt(), logtb_get_current_tran_index(), logtb_get_system_tdes(), logtb_set_check_interrupt(), logtb_set_current_tran_index(), logtb_set_tdes(), net_server_conn_down(), net_server_start(), perfmon_stat_module_name(), pgbuf_adjust_quotas(), pgbuf_block_bcb(), pgbuf_check_bcb_page_vpid(), pgbuf_lock_page(), pgbuf_victimize_bcb(), prm_get_value(), prm_set_default(), px_sort_myself(), qdump_print_xasl(), qfile_clear_list_id(), qfile_copy_list_id(), rmutex_lock(), rmutex_unlock(), sboot_notify_unregister_client(), session_get_session_state(), session_set_conn_entry_data(), session_state_uninit(), cubload::server_object_loader::stop_scancache(), str_to_hex(), synccoll_check(), sysprm_get_id(), sysprm_set_value(), thread_get_current_entry_index(), thread_get_entry_index(), thread_get_tran_entry(), tz_get_client_tz_region_session(), vacuum_boot(), vacuum_convert_thread_to_master(), vacuum_convert_thread_to_worker(), vacuum_restore_thread(), xboot_copy(), xboot_initialize_server(), xcache_entry_uninit(), xcache_hash_key(), xtran_server_abort(), and xtran_wait_server_active_trans().

std::size_t thread_num_total_threads ( void  )
inline
void thread_return_lock_free_transaction_entries ( void  )
inline

Definition at line 409 of file thread_manager.hpp.

References cubthread::return_lock_free_transaction_entries().

Referenced by boot_server_all_finalize().

Here is the caller graph for this function:

template<typename Duration >
void thread_sleep_for ( Duration  d)
inline

Definition at line 435 of file thread_manager.hpp.

Referenced by thread_sleep(), xlogtb_kill_or_interrupt_tran(), and xlogtb_kill_tran_index().

Here is the caller graph for this function: