diff --git a/sql/rpl_slave.cc b/sql/rpl_slave.cc index fd00f1a..fe64879 100644 --- a/sql/rpl_slave.cc +++ b/sql/rpl_slave.cc @@ -6896,11 +6896,6 @@ void slave_stop_workers(Relay_log_info *rli, bool *mts_inited) { 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 to stop. @@ -6985,6 +6980,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