diff --git a/sql/rpl_slave.cc b/sql/rpl_slave.cc index 2713e18..a7aa486 100644 --- a/sql/rpl_slave.cc +++ b/sql/rpl_slave.cc @@ -6871,11 +6871,6 @@ static 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. @@ -6960,6 +6955,11 @@ static 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