Loading sql/mysqld.cc +2 −10 Original line number Diff line number Diff line Loading @@ -288,7 +288,7 @@ int segfaulted = 0; // ensure we do not enter SIGSEGV handler twice */ 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; char glob_hostname[FN_REFLEN]; Loading Loading @@ -2423,15 +2423,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 */ Loading sql/sql_class.cc +14 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ #include <mysys_err.h> #include <assert.h> extern struct rand_struct sql_rand; /***************************************************************************** ** Instansiate templates *****************************************************************************/ Loading Loading @@ -158,6 +160,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 */ Loading Loading
sql/mysqld.cc +2 −10 Original line number Diff line number Diff line Loading @@ -288,7 +288,7 @@ int segfaulted = 0; // ensure we do not enter SIGSEGV handler twice */ 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; char glob_hostname[FN_REFLEN]; Loading Loading @@ -2423,15 +2423,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 */ Loading
sql/sql_class.cc +14 −0 Original line number Diff line number Diff line Loading @@ -37,6 +37,8 @@ #include <mysys_err.h> #include <assert.h> extern struct rand_struct sql_rand; /***************************************************************************** ** Instansiate templates *****************************************************************************/ Loading Loading @@ -158,6 +160,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 */ Loading