summaryrefslogtreecommitdiff
path: root/sql/sql_base.h
diff options
context:
space:
mode:
authorJan Lindström <jan.lindstrom@mariadb.com>2021-01-11 08:34:04 +0200
committerJan Lindström <jan.lindstrom@mariadb.com>2021-01-11 08:34:04 +0200
commitd1aea01dd3438225a2adcca19d79f7a9ff22c8f8 (patch)
treea6fec29df398b8abf2e51dd18c117d84ca04d783 /sql/sql_base.h
parent3b548d3bbf888e7c9e9853cf826e528b5195d8bd (diff)
downloadmariadb-git-bb-10.2-MDEV-23536.tar.gz
MDEV-23536 : Race condition between KILL and transaction commitbb-10.2-MDEV-23536
Fix test regression. We need to pass information do we hold THD::LOCK_thd_data mutex to close_thread_table, close_thread_tables and Locked_tables_list::unlock_locked_tables because unlock_locked_tables would otherwise take it.
Diffstat (limited to 'sql/sql_base.h')
-rw-r--r--sql/sql_base.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_base.h b/sql/sql_base.h
index b67341bcbda..55b0aa645cf 100644
--- a/sql/sql_base.h
+++ b/sql/sql_base.h
@@ -147,7 +147,7 @@ TABLE_LIST *find_table_in_list(TABLE_LIST *table,
TABLE_LIST *TABLE_LIST::*link,
const char *db_name,
const char *table_name);
-void close_thread_tables(THD *thd);
+void close_thread_tables(THD *thd, bool have_mutex=false);
void switch_to_nullable_trigger_fields(List<Item> &items, TABLE *);
void switch_defaults_to_nullable_trigger_fields(TABLE *table);
bool fill_record_n_invoke_before_triggers(THD *thd, TABLE *table,
@@ -269,7 +269,7 @@ bool open_normal_and_derived_tables(THD *thd, TABLE_LIST *tables, uint flags,
uint dt_phases);
bool lock_tables(THD *thd, TABLE_LIST *tables, uint counter, uint flags);
int decide_logging_format(THD *thd, TABLE_LIST *tables);
-void close_thread_table(THD *thd, TABLE **table_ptr);
+void close_thread_table(THD *thd, TABLE **table_ptr, bool have_mutex=false);
TABLE_LIST *unique_table(THD *thd, TABLE_LIST *table, TABLE_LIST *table_list,
uint check_flag);
bool is_equal(const LEX_STRING *a, const LEX_STRING *b);