diff --git a/include/boost/asio/detail/impl/win_iocp_io_context.ipp b/include/boost/asio/detail/impl/win_iocp_io_context.ipp index 72fa751c..524667a4 100644 --- a/include/boost/asio/detail/impl/win_iocp_io_context.ipp +++ b/include/boost/asio/detail/impl/win_iocp_io_context.ipp @@ -531,6 +531,7 @@ size_t win_iocp_io_context::do_one(DWORD msec, DWORD win_iocp_io_context::get_gqcs_timeout() { +#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) OSVERSIONINFOEX osvi; ZeroMemory(&osvi, sizeof(osvi)); osvi.dwOSVersionInfoSize = sizeof(osvi); @@ -543,6 +544,9 @@ DWORD win_iocp_io_context::get_gqcs_timeout() return INFINITE; return default_gqcs_timeout; +#else // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) + return INFINITE; +#endif // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) } void win_iocp_io_context::do_add_timer_queue(timer_queue_base& queue) diff --git a/include/boost/asio/detail/win_iocp_io_context.hpp b/include/boost/asio/detail/win_iocp_io_context.hpp index 3904baeb..f91a70d0 100644 --- a/include/boost/asio/detail/win_iocp_io_context.hpp +++ b/include/boost/asio/detail/win_iocp_io_context.hpp @@ -273,11 +273,13 @@ private: enum { +#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) // Timeout to use with GetQueuedCompletionStatus on older versions of // Windows. Some versions of windows have a "bug" where a call to // GetQueuedCompletionStatus can appear stuck even though there are events // waiting on the queue. Using a timeout helps to work around the issue. default_gqcs_timeout = 500, +#endif // !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0600) // Maximum waitable timer timeout, in milliseconds. max_timeout_msec = 5 * 60 * 1000,