diff options
Diffstat (limited to 'innobase/srv/srv0start.c')
-rw-r--r-- | innobase/srv/srv0start.c | 16 |
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, |