summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-01-21 12:20:54 +0100
committerSergei Golubchik <sergii@pisem.net>2013-01-21 12:20:54 +0100
commit7925bf6b40aed5af7ed3e45cb4818c3be6f55064 (patch)
tree7af844be290909a41420c2b2ee86e53faa0cbb13
parent82e39cb1e1637794cc3f7c5049d2d20ce5a32576 (diff)
downloadmariadb-git-7925bf6b40aed5af7ed3e45cb4818c3be6f55064.tar.gz
MDEV-4069 thd_wait_end does not called in some cases in buf_page_read_low in XtraDB engine
-rw-r--r--storage/xtradb/buf/buf0rea.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/storage/xtradb/buf/buf0rea.c b/storage/xtradb/buf/buf0rea.c
index 67379d614a0..6d76a488af7 100644
--- a/storage/xtradb/buf/buf0rea.c
+++ b/storage/xtradb/buf/buf0rea.c
@@ -235,6 +235,9 @@ not_to_recover:
sync, space, 0, offset, 0, UNIV_PAGE_SIZE,
((buf_block_t*) bpage)->frame, bpage, trx);
}
+ if(sync) {
+ thd_wait_end(NULL);
+ }
if (*err == DB_TABLESPACE_DELETED) {
buf_read_page_handle_error(bpage);
@@ -250,7 +253,6 @@ not_to_recover:
}
if (sync) {
- thd_wait_end(NULL);
/* The i/o is already completed when we arrive from
fil_read */
if (!buf_page_io_complete(bpage)) {