diff options
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r-- | sql/sql_repl.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc index 7ff0e27b008..637820308cb 100644 --- a/sql/sql_repl.cc +++ b/sql/sql_repl.cc @@ -3398,7 +3398,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 + mysql_mutex_lock(&tmp->LOCK_thd_kill); // Lock from delete + mysql_mutex_lock(&tmp->LOCK_thd_data); // Lock from concurrent break; } } @@ -3412,6 +3413,7 @@ void kill_zombie_dump_threads(uint32 slave_server_id) */ tmp->awake(KILL_SLAVE_SAME_ID); mysql_mutex_unlock(&tmp->LOCK_thd_data); + mysql_mutex_unlock(&tmp->LOCK_thd_kill); } } |