diff options
author | heikki@hundin.mysql.fi <> | 2002-09-07 23:37:27 +0300 |
---|---|---|
committer | heikki@hundin.mysql.fi <> | 2002-09-07 23:37:27 +0300 |
commit | d7bf8c2e6ee6fb3dfd2abb0dbb4fa5460697ad40 (patch) | |
tree | b72a3af9f84e93bb3c8af5faf455e9795a64b5ab /innobase/srv | |
parent | 40718fe564878df96aeba1ec103c67ddd960aba5 (diff) | |
download | mariadb-git-d7bf8c2e6ee6fb3dfd2abb0dbb4fa5460697ad40.tar.gz |
srv0srv.c:
The option (= default) innodb_fast_shutdown did not always make the shutdown quickly, fix that
Diffstat (limited to 'innobase/srv')
-rw-r--r-- | innobase/srv/srv0srv.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/innobase/srv/srv0srv.c b/innobase/srv/srv0srv.c index 0472146013e..7b5aa79b3c7 100644 --- a/innobase/srv/srv0srv.c +++ b/innobase/srv/srv0srv.c @@ -2819,7 +2819,11 @@ background_loop: srv_main_thread_op_info = (char*)"purging"; - n_pages_purged = trx_purge(); + if (srv_fast_shutdown && srv_shutdown_state > 0) { + n_pages_purged = 0; + } else { + n_pages_purged = trx_purge(); + } srv_main_thread_op_info = (char*)"reserving kernel mutex"; @@ -2831,7 +2835,12 @@ background_loop: mutex_exit(&kernel_mutex); srv_main_thread_op_info = (char*)"doing insert buffer merge"; - n_bytes_merged = ibuf_contract_for_n_pages(TRUE, 20); + + if (srv_fast_shutdown && srv_shutdown_state > 0) { + n_bytes_merged = 0; + } else { + n_bytes_merged = ibuf_contract_for_n_pages(TRUE, 20); + } srv_main_thread_op_info = (char*)"reserving kernel mutex"; |