mirror of
https://github.com/MariaDB/server.git
synced 2026-10-23 18:49:29 +03:00
Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog)
the thread->mysys_var parameter should be empty for the idle
embedded-server threads so that working threads can safely free
this memory.
per-file comments:
libmysqld/lib_sql.cc
Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog)
set thread->mysys_var= 0 after the query is handled
mysql-test/include/concurrent.inc
Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog)
enable these for the embedded-server mode
sql/sql_show.cc
Bug#43733 Select on processlist let the embedded server crash (concurrent_innodb_safelog)
show thread lock status in the query result
This commit is contained in:
@@ -142,6 +142,8 @@ emb_advanced_command(MYSQL *mysql, enum enum_server_command command,
|
||||
if (!skip_check)
|
||||
result= thd->is_error() ? -1 : 0;
|
||||
|
||||
thd->mysys_var= 0;
|
||||
|
||||
#if defined(ENABLED_PROFILING) && defined(COMMUNITY_SERVER)
|
||||
thd->profiling.finish_current_query();
|
||||
#endif
|
||||
@@ -634,6 +636,7 @@ void *create_embedded_thd(int client_flag)
|
||||
|
||||
thread_count++;
|
||||
threads.append(thd);
|
||||
thd->mysys_var= 0;
|
||||
return thd;
|
||||
err:
|
||||
delete(thd);
|
||||
|
||||
@@ -25,8 +25,6 @@
|
||||
# new wrapper t/concurrent_innodb_safelog.test
|
||||
#
|
||||
|
||||
--source include/not_embedded.inc
|
||||
|
||||
connection default;
|
||||
#
|
||||
# Show prerequisites for this test.
|
||||
|
||||
@@ -1888,7 +1888,7 @@ int fill_schema_processlist(THD* thd, TABLE_LIST* tables, COND* cond)
|
||||
tmp->mysys_var->current_cond ?
|
||||
"Waiting on cond" : NullS);
|
||||
#else
|
||||
val= (char *) "Writing to net";
|
||||
val= (char *) (tmp->proc_info ? tmp->proc_info : NullS);
|
||||
#endif
|
||||
if (val)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user