summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2002-09-07 23:37:27 +0300
committerunknown <heikki@hundin.mysql.fi>2002-09-07 23:37:27 +0300
commitd857c6943b6bc89e9e7530ec9227fa1e531dd0be (patch)
treeb72a3af9f84e93bb3c8af5faf455e9795a64b5ab /innobase
parenta1e858bfdb525a210c66dc7db49f7c8d3668b835 (diff)
downloadmariadb-git-d857c6943b6bc89e9e7530ec9227fa1e531dd0be.tar.gz
srv0srv.c:
The option (= default) innodb_fast_shutdown did not always make the shutdown quickly, fix that innobase/srv/srv0srv.c: The option (= default) innodb_fast_shutdown did not always make the shutdown quickly, fix that
Diffstat (limited to 'innobase')
-rw-r--r--innobase/srv/srv0srv.c13
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";