summaryrefslogtreecommitdiff
path: root/innobase/srv/srv0start.c
diff options
context:
space:
mode:
Diffstat (limited to 'innobase/srv/srv0start.c')
-rw-r--r--innobase/srv/srv0start.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/innobase/srv/srv0start.c b/innobase/srv/srv0start.c
index 6d0d0f45bd2..3136846c450 100644
--- a/innobase/srv/srv0start.c
+++ b/innobase/srv/srv0start.c
@@ -549,11 +549,19 @@ innobase_start_or_create_for_mysql(void)
srv_n_file_io_threads = 4;
#endif
-#ifdef WIN_ASYNC_IO
- /* On NT always use aio */
- os_aio_use_native_aio = TRUE;
-#endif
+#ifdef __WIN__
+ if (os_get_os_version() == OS_WIN95
+ || os_get_os_version() == OS_WIN31) {
+ /* On Win 95, 98, ME, and Win32 subsystem for Windows 3.1 use
+ simulated aio */
+ os_aio_use_native_aio = FALSE;
+ srv_n_file_io_threads = 4;
+ } else {
+ /* On NT and Win 2000 always use aio */
+ os_aio_use_native_aio = TRUE;
+ }
+#endif
if (!os_aio_use_native_aio) {
os_aio_init(4 * SRV_N_PENDING_IOS_PER_THREAD
* srv_n_file_io_threads,