diff options
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/srv/srv0srv.cc | 4 | ||||
-rw-r--r-- | storage/innobase/srv/srv0start.cc | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/storage/innobase/srv/srv0srv.cc b/storage/innobase/srv/srv0srv.cc index 505d8bbeebd..f9d5ede3794 100644 --- a/storage/innobase/srv/srv0srv.cc +++ b/storage/innobase/srv/srv0srv.cc @@ -2657,7 +2657,7 @@ srv_purge_coordinator_suspend( rw_lock_x_lock(&purge_sys.latch); - stop = srv_shutdown_state == SRV_SHUTDOWN_NONE + stop = srv_shutdown_state <= SRV_SHUTDOWN_INITIATED && purge_sys.paused(); if (!stop) { @@ -2722,7 +2722,7 @@ DECLARE_THREAD(srv_purge_coordinator_thread)( /* If there are no records to purge or the last purge didn't purge any records then wait for activity. */ - if (srv_shutdown_state == SRV_SHUTDOWN_NONE + if (srv_shutdown_state <= SRV_SHUTDOWN_INITIATED && srv_undo_sources && (n_total_purged == 0 || purge_sys.paused())) { diff --git a/storage/innobase/srv/srv0start.cc b/storage/innobase/srv/srv0start.cc index c3558a2fe00..edae63c0e47 100644 --- a/storage/innobase/srv/srv0start.cc +++ b/storage/innobase/srv/srv0start.cc @@ -2320,7 +2320,7 @@ skip_monitors: thread_started[5 + i + SRV_MAX_N_IO_THREADS] = true; } - while (srv_shutdown_state == SRV_SHUTDOWN_NONE + while (srv_shutdown_state <= SRV_SHUTDOWN_INITIATED && srv_force_recovery < SRV_FORCE_NO_BACKGROUND && !purge_sys.enabled()) { ib::info() << "Waiting for purge to start"; |