summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2016-09-13 21:55:21 +0000
committerVladislav Vaintroub <wlad@mariadb.com>2016-09-13 21:55:21 +0000
commit588b03328d0e270c67fe8b07193236d47f596521 (patch)
tree352a7cefd9442a5b848adc1efc4c3cdf3b62055a
parent7c6037ceda560a8701f19aa635e176aae6d3ccee (diff)
downloadmariadb-git-588b03328d0e270c67fe8b07193236d47f596521.tar.gz
Add error logging for aio error on Windows
-rw-r--r--storage/innobase/os/os0file.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/storage/innobase/os/os0file.cc b/storage/innobase/os/os0file.cc
index 02727ae9279..dfe5021da8c 100644
--- a/storage/innobase/os/os0file.cc
+++ b/storage/innobase/os/os0file.cc
@@ -7366,10 +7366,20 @@ os_aio_windows_handler(
srv_set_io_thread_op_info(orig_seg, "wait Windows aio");
}
+ DWORD handle_count = (DWORD)array->slots_per_segment();
+ HANDLE *handle_array = array->handles(segment);
pos = WaitForMultipleObjects(
- (DWORD) array->slots_per_segment(),
- array->handles(segment),
+ handle_count,
+ handle_array,
FALSE, INFINITE);
+ if (pos == WAIT_FAILED) {
+ DWORD last_error = GetLastError();
+ ib::error()
+ << "WaitForMultipleObjects() failed with error "
+ << last_error;
+ ut_error;
+
+ }
}
array->acquire();