diff options
author | unknown <nick@mysql.com> | 2002-10-29 12:28:45 -0700 |
---|---|---|
committer | unknown <nick@mysql.com> | 2002-10-29 12:28:45 -0700 |
commit | b9073addbb383f4fe7bd07e2f63d15388066c83b (patch) | |
tree | ef40d700672d73608956b9ce4c211b46bbc97ecc | |
parent | 05512a01452f8bd128842cc05e496fe00d21e8f4 (diff) | |
parent | 4c9b595c6bacf9382b3998df5656dfe06c778d30 (diff) | |
download | mariadb-git-b9073addbb383f4fe7bd07e2f63d15388066c83b.tar.gz |
Merge mysql.com:/home/nick/mysql/repository/mysql-3.23
into mysql.com:/home/nick/mysql/mysql-3.23
sql/mysqld.cc:
Auto merged
-rw-r--r-- | sql/mysqld.cc | 12 | ||||
-rw-r--r-- | sql/sql_class.cc | 14 |
2 files changed, 16 insertions, 10 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 3036f712d77..f7be5525e34 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -251,7 +251,7 @@ extern int init_master_info(MASTER_INFO* mi); // and are treated as aliases for each other static bool kill_in_progress=FALSE; -static struct rand_struct sql_rand; +struct rand_struct sql_rand; // used by sql_class.cc:THD::THD() static int cleanup_done; static char **defaults_argv,time_zone[30]; static const char *default_table_type_name; @@ -2323,15 +2323,7 @@ static void create_new_thread(THD *thd) for (uint i=0; i < 8 ; i++) // Generate password teststring thd->scramble[i]= (char) (rnd(&sql_rand)*94+33); thd->scramble[8]=0; - /* - We need good random number initialization for new thread - Just coping global one will not work - */ - { - ulong tmp=(ulong) (rnd(&sql_rand) * 3000000); - randominit(&(thd->rand), tmp + (ulong) start_time, - tmp + (ulong) thread_id); - } + thd->real_id=pthread_self(); // Keep purify happy /* Start a new thread to handle connection */ diff --git a/sql/sql_class.cc b/sql/sql_class.cc index ace7c291ed3..eada94e3d40 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -35,6 +35,8 @@ #include <io.h> #endif +extern struct rand_struct sql_rand; + /***************************************************************************** ** Instansiate templates *****************************************************************************/ @@ -147,6 +149,18 @@ THD::THD():user_time(0),fatal_error(0),last_insert_id_used(0), transaction.trans_log.end_of_file= max_binlog_cache_size; } #endif + + /* + We need good random number initialization for new thread + Just coping global one will not work + */ + { + pthread_mutex_lock(&LOCK_thread_count); + ulong tmp=(ulong) (rnd(&sql_rand) * 3000000); + randominit(&rand, tmp + (ulong) start_time, + tmp + (ulong) thread_id); + pthread_mutex_unlock(&LOCK_thread_count); + } } /* Do operations that may take a long time */ |