MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / init_thread_environment

Function init_thread_environment

sql/mysqld.cc:1740–1822  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1738
1739
1740static int init_thread_environment()
1741{
1742 mysql_mutex_init(key_LOCK_thread_created,
1743 &LOCK_thread_created, MY_MUTEX_INIT_FAST);
1744 mysql_mutex_init(key_LOCK_thread_count, &LOCK_thread_count, MY_MUTEX_INIT_FAST);
1745 mysql_mutex_init(key_LOCK_status, &LOCK_status, MY_MUTEX_INIT_FAST);
1746 mysql_mutex_init(key_LOCK_thd_remove,
1747 &LOCK_thd_remove, MY_MUTEX_INIT_FAST);
1748 mysql_mutex_init(key_LOCK_delayed_insert,
1749 &LOCK_delayed_insert, MY_MUTEX_INIT_FAST);
1750 mysql_mutex_init(key_LOCK_delayed_status,
1751 &LOCK_delayed_status, MY_MUTEX_INIT_FAST);
1752 mysql_mutex_init(key_LOCK_delayed_create,
1753 &LOCK_delayed_create, MY_MUTEX_INIT_SLOW);
1754 mysql_mutex_init(key_LOCK_crypt, &LOCK_crypt, MY_MUTEX_INIT_FAST);
1755 mysql_mutex_init(key_LOCK_user_conn, &LOCK_user_conn, MY_MUTEX_INIT_FAST);
1756 mysql_mutex_init(key_LOCK_active_mi, &LOCK_active_mi, MY_MUTEX_INIT_FAST);
1757 mysql_mutex_init(key_LOCK_global_system_variables,
1758 &LOCK_global_system_variables, MY_MUTEX_INIT_FAST);
1759 mysql_rwlock_init(key_rwlock_LOCK_system_variables_hash,
1760 &LOCK_system_variables_hash);
1761 mysql_mutex_init(key_LOCK_prepared_stmt_count,
1762 &LOCK_prepared_stmt_count, MY_MUTEX_INIT_FAST);
1763 mysql_mutex_init(key_LOCK_sql_slave_skip_counter,
1764 &LOCK_sql_slave_skip_counter, MY_MUTEX_INIT_FAST);
1765 mysql_mutex_init(key_LOCK_slave_net_timeout,
1766 &LOCK_slave_net_timeout, MY_MUTEX_INIT_FAST);
1767 mysql_mutex_init(key_LOCK_error_messages,
1768 &LOCK_error_messages, MY_MUTEX_INIT_FAST);
1769 mysql_mutex_init(key_LOCK_uuid_generator,
1770 &LOCK_uuid_generator, MY_MUTEX_INIT_FAST);
1771 mysql_mutex_init(key_LOCK_sql_rand,
1772 &LOCK_sql_rand, MY_MUTEX_INIT_FAST);
1773 mysql_mutex_init(key_LOCK_connection_count,
1774 &LOCK_connection_count, MY_MUTEX_INIT_FAST);
1775 mysql_mutex_init(key_LOCK_log_throttle_qni,
1776 &LOCK_log_throttle_qni, MY_MUTEX_INIT_FAST);
1777#ifdef HAVE_OPENSSL
1778 mysql_mutex_init(key_LOCK_des_key_file,
1779 &LOCK_des_key_file, MY_MUTEX_INIT_FAST);
1780#ifndef HAVE_YASSL
1781 openssl_stdlocks= (openssl_lock_t*) OPENSSL_malloc(CRYPTO_num_locks() *
1782 sizeof(openssl_lock_t));
1783 for (int i= 0; i < CRYPTO_num_locks(); ++i)
1784 mysql_rwlock_init(key_rwlock_openssl, &openssl_stdlocks[i].lock);
1785 CRYPTO_set_dynlock_create_callback(openssl_dynlock_create);
1786 CRYPTO_set_dynlock_destroy_callback(openssl_dynlock_destroy);
1787 CRYPTO_set_dynlock_lock_callback(openssl_lock);
1788 CRYPTO_set_locking_callback(openssl_lock_function);
1789 CRYPTO_set_id_callback(openssl_id_function);
1790#endif
1791#endif
1792 mysql_rwlock_init(key_rwlock_LOCK_sys_init_connect, &LOCK_sys_init_connect);
1793 mysql_rwlock_init(key_rwlock_LOCK_sys_init_slave, &LOCK_sys_init_slave);
1794 mysql_rwlock_init(key_rwlock_LOCK_grant, &LOCK_grant);
1795 mysql_rwlock_init(key_rwlock_LOCK_consistent_snapshot,
1796 &LOCK_consistent_snapshot);
1797 mysql_cond_init(key_COND_thread_count, &COND_thread_count, NULL);

Callers 1

init_common_variablesFunction · 0.85

Calls 2

pthread_attr_initFunction · 0.85
sql_print_errorFunction · 0.85

Tested by

no test coverage detected