Set thread_stack after return from end_thread()
Fixes core dump when reusing thread when running debug binary sql-bench/bench-init.pl.sh: Use ENGINE= instead of TYPE= sql-bench/server-cfg.sh: Use ENGINE= instead of TYPE= sql/mysqld.cc: Set thread_stack (to avoid core dump in store_globlas) sql/sql_parse.cc: Set thread_stack after return from end_thread()
This commit is contained in:
parent
97bfd41fe1
commit
bca61bcfde
@ -447,7 +447,7 @@ All benchmarks takes the following options:
|
||||
--create-options=#
|
||||
Extra argument to all create statements. If you for example want to
|
||||
create all MySQL tables as BDB tables use:
|
||||
--create-options=TYPE=BDB
|
||||
--create-options=ENGINE=BDB
|
||||
|
||||
--database (Default $opt_database)
|
||||
In which database the test tables are created.
|
||||
|
@ -174,29 +174,29 @@ sub new
|
||||
|
||||
# Some fixes that depends on the environment
|
||||
if (defined($main::opt_create_options) &&
|
||||
$main::opt_create_options =~ /type=heap/i)
|
||||
$main::opt_create_options =~ /engine=heap/i)
|
||||
{
|
||||
$limits{'working_blobs'} = 0; # HEAP tables can't handle BLOB's
|
||||
}
|
||||
if (defined($main::opt_create_options) &&
|
||||
$main::opt_create_options =~ /type=innodb/i)
|
||||
$main::opt_create_options =~ /engine=innodb/i)
|
||||
{
|
||||
$self->{'transactions'} = 1; # Transactions enabled
|
||||
}
|
||||
if (defined($main::opt_create_options) &&
|
||||
$main::opt_create_options =~ /type=ndb/i)
|
||||
$main::opt_create_options =~ /engine=ndb/i)
|
||||
{
|
||||
$self->{'transactions'} = 1; # Transactions enabled
|
||||
$limits{'max_columns'} = 90; # Max number of columns in table
|
||||
$limits{'max_tables'} = 32; # No comments
|
||||
}
|
||||
if (defined($main::opt_create_options) &&
|
||||
$main::opt_create_options =~ /type=bdb/i)
|
||||
$main::opt_create_options =~ /engine=bdb/i)
|
||||
{
|
||||
$self->{'transactions'} = 1; # Transactions enabled
|
||||
}
|
||||
if (defined($main::opt_create_options) &&
|
||||
$main::opt_create_options =~ /type=gemini/i)
|
||||
$main::opt_create_options =~ /engine=gemini/i)
|
||||
{
|
||||
$limits{'working_blobs'} = 0; # Blobs not implemented yet
|
||||
$limits{'max_tables'} = 500;
|
||||
|
@ -1589,6 +1589,7 @@ void end_thread(THD *thd, bool put_in_cache)
|
||||
wake_thread--;
|
||||
thd=thread_cache.get();
|
||||
thd->real_id=pthread_self();
|
||||
thd->thread_stack= (char*) &thd; // For store_globals
|
||||
(void) thd->store_globals();
|
||||
thd->thr_create_time= time(NULL);
|
||||
threads.append(thd);
|
||||
|
@ -1182,6 +1182,7 @@ end_thread:
|
||||
or this thread has been schedule to handle the next query
|
||||
*/
|
||||
thd= current_thd;
|
||||
thd->thread_stack= (char*) &thd;
|
||||
} while (!(test_flags & TEST_NO_THREADS));
|
||||
/* The following is only executed if we are not using --one-thread */
|
||||
return(0); /* purecov: deadcode */
|
||||
|
Loading…
x
Reference in New Issue
Block a user