Windows support in thread::hardware_concurrency.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@185451 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -23,6 +23,9 @@
|
|||||||
#if defined(__NetBSD__)
|
#if defined(__NetBSD__)
|
||||||
#pragma weak pthread_create // Do not create libpthread dependency
|
#pragma weak pthread_create // Do not create libpthread dependency
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(_WIN32)
|
||||||
|
#include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||||
|
|
||||||
@@ -79,6 +82,10 @@ thread::hardware_concurrency() _NOEXCEPT
|
|||||||
if (result < 0)
|
if (result < 0)
|
||||||
return 0;
|
return 0;
|
||||||
return static_cast<unsigned>(result);
|
return static_cast<unsigned>(result);
|
||||||
|
#elif defined(_WIN32)
|
||||||
|
SYSTEM_INFO info;
|
||||||
|
GetSystemInfo(&info);
|
||||||
|
return info.dwNumberOfProcessors;
|
||||||
#else // defined(CTL_HW) && defined(HW_NCPU)
|
#else // defined(CTL_HW) && defined(HW_NCPU)
|
||||||
// TODO: grovel through /proc or check cpuid on x86 and similar
|
// TODO: grovel through /proc or check cpuid on x86 and similar
|
||||||
// instructions on other architectures.
|
// instructions on other architectures.
|
||||||
|
Reference in New Issue
Block a user