From: Date: October 17 2008 7:53pm Subject: bzr push into mysql-6.0-perf branch (marc.alff:2710 to 2711) List-Archive: http://lists.mysql.com/commits/56490 Message-Id: <20081017175317.537CA2D869@lambda.WEBLAB> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 2711 Marc Alff 2008-10-17 Removed pthread_rwlockattr_t for rwlocks, since it's not properly supported in my_pthread.h modified: include/mysql/mysql_mutex.h mysys/my_safehash.c sql/log.cc sql/mysqld.cc sql/sql_cache.cc sql/sql_db.cc sql/sql_servers.cc sql/sql_udf.cc storage/archive/azio.h storage/maria/ma_loghandler.c storage/maria/ma_open.c storage/myisam/mi_open.c 2710 Marc Alff 2008-10-17 pthread_mutex_destroy should not return void on windows modified: include/my_pthread.h === modified file 'include/mysql/mysql_mutex.h' --- a/include/mysql/mysql_mutex.h 2008-10-13 20:42:40 +0000 +++ b/include/mysql/mysql_mutex.h 2008-10-17 17:51:19 +0000 @@ -34,7 +34,7 @@ extern PSI *PSI_server; #else #define MYSQL_MUTEX_INIT(M,K,A) mysql_mutex_init(M,K,A) #endif - #define MYSQL_RWLOCK_INIT(M,K,A) mysql_rwlock_init(M,K,A) + #define MYSQL_RWLOCK_INIT(M,K) mysql_rwlock_init(M,K) #define MYSQL_COND_INIT(C,K,A) mysql_cond_init(C,K,A) #else #ifdef SAFE_MUTEX @@ -42,7 +42,7 @@ extern PSI *PSI_server; #else #define MYSQL_MUTEX_INIT(M,K,A) mysql_mutex_init(M,A) #endif - #define MYSQL_RWLOCK_INIT(M,K,A) mysql_rwlock_init(M,A) + #define MYSQL_RWLOCK_INIT(M,K) mysql_rwlock_init(M) #define MYSQL_COND_INIT(C,K,A) mysql_cond_init(C,A) #endif @@ -176,16 +176,19 @@ struct s_mysql_rwlock typedef struct s_mysql_rwlock mysql_rwlock_t; static inline int mysql_rwlock_init( - mysql_rwlock_t *that, + mysql_rwlock_t *that #ifdef HAVE_PSI_INTERFACE - PSI_rwlock_key key, + , PSI_rwlock_key key #endif - const pthread_rwlockattr_t *attr) + ) { #ifdef HAVE_PSI_INTERFACE that->m_psi= (PSI_server ? PSI_server->init_rwlock(key, & that->m_rwlock) : NULL); #endif - return my_rwlock_init(& that->m_rwlock, attr); + /* + pthread_rwlockattr_t is not used in MySQL. + */ + return my_rwlock_init(& that->m_rwlock, NULL); } static inline int mysql_rwlock_destroy( === modified file 'mysys/my_safehash.c' --- a/mysys/my_safehash.c 2008-10-14 01:55:03 +0000 +++ b/mysys/my_safehash.c 2008-10-17 17:51:19 +0000 @@ -107,7 +107,7 @@ my_bool safe_hash_init(SAFE_HASH *hash, hash->default_value= 0; DBUG_RETURN(1); } - MYSQL_RWLOCK_INIT(&hash->mutex, key_SAFE_HASH_mutex, 0); + MYSQL_RWLOCK_INIT(&hash->mutex, key_SAFE_HASH_mutex); hash->default_value= default_value; hash->root= 0; DBUG_RETURN(0); === modified file 'sql/log.cc' --- a/sql/log.cc 2008-10-10 20:34:55 +0000 +++ b/sql/log.cc 2008-10-17 17:51:19 +0000 @@ -1342,7 +1342,7 @@ void LOGGER::init_base() init_error_log(LOG_FILE); file_log_handler->init_pthread_objects(); - MYSQL_RWLOCK_INIT(&LOCK_logger, key_LOCK_logger, NULL); + MYSQL_RWLOCK_INIT(&LOCK_logger, key_LOCK_logger); } === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2008-10-16 21:34:55 +0000 +++ b/sql/mysqld.cc 2008-10-17 17:51:19 +0000 @@ -3718,7 +3718,7 @@ static int init_thread_environment() (void) MYSQL_MUTEX_INIT(&LOCK_user_conn, key_LOCK_user_conn, MY_MUTEX_INIT_FAST); (void) MYSQL_MUTEX_INIT(&LOCK_active_mi, key_LOCK_active_mi, MY_MUTEX_INIT_FAST); (void) MYSQL_MUTEX_INIT(&LOCK_global_system_variables, key_LOCK_global_system_variables, MY_MUTEX_INIT_FAST); - (void) MYSQL_RWLOCK_INIT(&LOCK_system_variables_hash, key_LOCK_system_variables_hash, NULL); + (void) MYSQL_RWLOCK_INIT(&LOCK_system_variables_hash, key_LOCK_system_variables_hash); (void) MYSQL_MUTEX_INIT(&LOCK_global_read_lock, key_LOCK_global_read_lock, MY_MUTEX_INIT_FAST); (void) MYSQL_MUTEX_INIT(&LOCK_prepared_stmt_count, key_LOCK_prepared_stmt_count, MY_MUTEX_INIT_FAST); (void) MYSQL_MUTEX_INIT(&LOCK_uuid_short, key_LOCK_uuid_short, MY_MUTEX_INIT_FAST); @@ -3729,7 +3729,7 @@ static int init_thread_environment() openssl_stdlocks= (openssl_lock_t*) OPENSSL_malloc(CRYPTO_num_locks() * sizeof(openssl_lock_t)); for (int i= 0; i < CRYPTO_num_locks(); ++i) - (void) MYSQL_RWLOCK_INIT(&openssl_stdlocks[i].lock, key_openssl_lock, NULL); + (void) MYSQL_RWLOCK_INIT(&openssl_stdlocks[i].lock, key_openssl_lock); CRYPTO_set_dynlock_create_callback(openssl_dynlock_create); CRYPTO_set_dynlock_destroy_callback(openssl_dynlock_destroy); CRYPTO_set_dynlock_lock_callback(openssl_lock); @@ -3737,9 +3737,9 @@ static int init_thread_environment() CRYPTO_set_id_callback(openssl_id_function); #endif #endif - (void) MYSQL_RWLOCK_INIT(&LOCK_sys_init_connect, key_LOCK_sys_init_connect, NULL); - (void) MYSQL_RWLOCK_INIT(&LOCK_sys_init_slave, key_LOCK_sys_init_slave, NULL); - (void) MYSQL_RWLOCK_INIT(&LOCK_grant, key_LOCK_grant, NULL); + (void) MYSQL_RWLOCK_INIT(&LOCK_sys_init_connect, key_LOCK_sys_init_connect); + (void) MYSQL_RWLOCK_INIT(&LOCK_sys_init_slave, key_LOCK_sys_init_slave); + (void) MYSQL_RWLOCK_INIT(&LOCK_grant, key_LOCK_grant); (void) MYSQL_COND_INIT(&COND_thread_count, key_COND_thread_count, NULL); (void) MYSQL_COND_INIT(&COND_refresh, key_COND_refresh, NULL); (void) MYSQL_COND_INIT(&COND_global_read_lock, key_COND_global_read_lock, NULL); @@ -3790,7 +3790,7 @@ static unsigned long openssl_id_function static openssl_lock_t *openssl_dynlock_create(const char *file, int line) { openssl_lock_t *lock= new openssl_lock_t; - MYSQL_RWLOCK_INIT(&lock->lock, key_openssl_lock, NULL); + MYSQL_RWLOCK_INIT(&lock->lock, key_openssl_lock); return lock; } === modified file 'sql/sql_cache.cc' --- a/sql/sql_cache.cc 2008-10-10 20:34:55 +0000 +++ b/sql/sql_cache.cc 2008-10-17 17:51:19 +0000 @@ -578,7 +578,7 @@ void Query_cache_query::init_n_lock() { DBUG_ENTER("Query_cache_query::init_n_lock"); res=0; wri = 0; len = 0; - MYSQL_RWLOCK_INIT(&lock, key_QCQ_lock, NULL); + MYSQL_RWLOCK_INIT(&lock, key_QCQ_lock); lock_writing(); DBUG_PRINT("qcache", ("inited & locked query for block %p", (((uchar*) this) - @@ -3705,7 +3705,7 @@ my_bool Query_cache::move_by_type(uchar } while ( result_block != first_result_block ); } Query_cache_query *new_query= ((Query_cache_query *) new_block->data()); - MYSQL_RWLOCK_INIT(&new_query->lock, key_QCQ_lock, NULL); + MYSQL_RWLOCK_INIT(&new_query->lock, key_QCQ_lock); /* If someone is writing to this block, inform the writer that the block === modified file 'sql/sql_db.cc' --- a/sql/sql_db.cc 2008-10-10 20:34:55 +0000 +++ b/sql/sql_db.cc 2008-10-17 17:51:19 +0000 @@ -223,7 +223,7 @@ void free_dbopt(void *dbopt) bool my_database_names_init(void) { bool error= 0; - (void) MYSQL_RWLOCK_INIT(&LOCK_dboptions, key_LOCK_dboptions, NULL); + (void) MYSQL_RWLOCK_INIT(&LOCK_dboptions, key_LOCK_dboptions); if (!dboptions_init) { dboptions_init= 1; === modified file 'sql/sql_servers.cc' --- a/sql/sql_servers.cc 2008-10-10 20:34:55 +0000 +++ b/sql/sql_servers.cc 2008-10-17 17:51:19 +0000 @@ -119,7 +119,7 @@ bool servers_init(bool dont_read_servers DBUG_ENTER("servers_init"); /* init the mutex */ - if (MYSQL_RWLOCK_INIT(&THR_LOCK_servers, key_THR_LOCK_servers, NULL)) + if (MYSQL_RWLOCK_INIT(&THR_LOCK_servers, key_THR_LOCK_servers)) DBUG_RETURN(TRUE); /* initialise our servers cache */ === modified file 'sql/sql_udf.cc' --- a/sql/sql_udf.cc 2008-10-10 20:34:55 +0000 +++ b/sql/sql_udf.cc 2008-10-17 17:51:19 +0000 @@ -123,7 +123,7 @@ void udf_init() if (initialized) DBUG_VOID_RETURN; - MYSQL_RWLOCK_INIT(&THR_LOCK_udf, key_THR_LOCK_udf, NULL); + MYSQL_RWLOCK_INIT(&THR_LOCK_udf, key_THR_LOCK_udf); init_sql_alloc(&mem, UDF_ALLOC_BLOCK_SIZE, 0); THD *new_thd = new THD; === modified file 'storage/archive/azio.h' --- a/storage/archive/azio.h 2008-10-17 02:24:29 +0000 +++ b/storage/archive/azio.h 2008-10-17 17:51:19 +0000 @@ -43,9 +43,9 @@ /* We currently allow this on all platforms */ #define AZIO_AIO -#include #include "my_global.h" #include "my_sys.h" +#include #include === modified file 'storage/maria/ma_loghandler.c' --- a/storage/maria/ma_loghandler.c 2008-10-15 03:57:32 +0000 +++ b/storage/maria/ma_loghandler.c 2008-10-17 17:51:19 +0000 @@ -3439,8 +3439,7 @@ my_bool translog_init_with_table(const c key_translog_descriptor_log_flush_cond, 0) || MYSQL_RWLOCK_INIT(&log_descriptor.open_files_lock, - key_translog_descriptor_open_files_lock, - NULL) || + key_translog_descriptor_open_files_lock) || my_init_dynamic_array(&log_descriptor.open_files, sizeof(TRANSLOG_FILE*), 10, 10) || my_init_dynamic_array(&log_descriptor.unfinished_files, === modified file 'storage/maria/ma_open.c' --- a/storage/maria/ma_open.c 2008-10-15 03:57:32 +0000 +++ b/storage/maria/ma_open.c 2008-10-17 17:51:19 +0000 @@ -813,9 +813,9 @@ MARIA_HA *maria_open(const char *name, i key_MARIA_SHARE_intern_cond, 0)); for (i=0; ikeyinfo[i].root_lock, - key_MARIA_KEYDEF_root_lock, NULL)); + key_MARIA_KEYDEF_root_lock)); (void)(MYSQL_RWLOCK_INIT(&share->mmap_lock, - key_MARIA_SHARE_mmap_lock, NULL)); + key_MARIA_SHARE_mmap_lock)); share->row_is_visible= _ma_row_visible_always; if (!thr_lock_inited) === modified file 'storage/myisam/mi_open.c' --- a/storage/myisam/mi_open.c 2008-10-15 00:15:56 +0000 +++ b/storage/myisam/mi_open.c 2008-10-17 17:51:19 +0000 @@ -569,9 +569,9 @@ MI_INFO *mi_open(const char *name, int m my_atomic_rwlock_init(&share->physical_logging_rwlock); for (i=0; ikey_root_lock[i], - key_MYISAM_SHARE_key_root_lock, NULL); + key_MYISAM_SHARE_key_root_lock); (void) MYSQL_RWLOCK_INIT(&share->mmap_lock, - key_MYISAM_SHARE_mmap_lock, NULL); + key_MYISAM_SHARE_mmap_lock); if (!thr_lock_inited) { /* Probably a single threaded program; Don't use concurrent inserts */