summaryrefslogtreecommitdiff
path: root/sql/sql_repl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_repl.cc')
-rw-r--r--sql/sql_repl.cc4
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);
}
}