diff --git a/sql/rpl_slave.cc b/sql/rpl_slave.cc index 4a2d1d4..eba31d8 100644 --- a/sql/rpl_slave.cc +++ b/sql/rpl_slave.cc @@ -5962,10 +5962,6 @@ void slave_stop_workers(Relay_log_info *rli, bool *mts_inited) { int i; THD *thd= rli->info_thd; - if (!*mts_inited) - return; - else if (rli->slave_parallel_workers == 0) - goto end; /* If request for stop slave is received notify worker @@ -6025,6 +6021,11 @@ void slave_stop_workers(Relay_log_info *rli, bool *mts_inited) mysql_mutex_unlock(&w->jobs_lock); } + if (!*mts_inited) + return; + else if (rli->slave_parallel_workers == 0) + goto end; + if (thd->killed == THD::NOT_KILLED) (void) mts_checkpoint_routine(rli, 0, false, true/*need_data_lock=true*/); // TODO:consider to propagate an error out of the function