diff options
author | Julius Goryavsky <julius.goryavsky@mariadb.com> | 2020-07-27 13:34:37 +0200 |
---|---|---|
committer | Julius Goryavsky <julius.goryavsky@mariadb.com> | 2020-07-27 13:34:37 +0200 |
commit | 4fae3c56b6a9d26e53570fc2468291d92a3c2a5b (patch) | |
tree | 4057805a880d550fea7a0e6f758b93e0de1855b9 /sql/sql_repl.cc | |
parent | 6898eae7f8ef3f0b773687c0308520f072da0bc9 (diff) | |
download | mariadb-git-10.2-sysprg-MDEV-21910.tar.gz |
MDEV-21910: merge reworked 10.4-MDEV-21910 patch into 10.210.2-sysprg-MDEV-21910
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r-- | sql/sql_repl.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index 721b6799ed3..e944ea1bc54 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -3375,7 +3375,8 @@ void kill_zombie_dump_threads(uint32 slave_server_id) if (tmp->get_command() == COM_BINLOG_DUMP && tmp->variables.server_id == slave_server_id) { - mysql_mutex_lock(&tmp->LOCK_thd_data); // Lock from delete + if (WSREP(tmp)) mysql_mutex_lock(&tmp->LOCK_thd_data); + mysql_mutex_lock(&tmp->LOCK_thd_kill); // Lock from delete break; } } @@ -3387,8 +3388,9 @@ void kill_zombie_dump_threads(uint32 slave_server_id) it will be slow because it will iterate through the list again. We just to do kill the thread ourselves. */ - tmp->awake(KILL_SLAVE_SAME_ID); - mysql_mutex_unlock(&tmp->LOCK_thd_data); + tmp->awake_no_mutex(KILL_SLAVE_SAME_ID); + mysql_mutex_unlock(&tmp->LOCK_thd_kill); + if (WSREP(tmp)) mysql_mutex_unlock(&tmp->LOCK_thd_data); } } |