@@ -12204,23 +12204,9 @@ os_cpu_count_impl(PyObject *module)
|
12204 | 12204 | { |
12205 | 12205 | int ncpu = 0; |
12206 | 12206 | #ifdef MS_WINDOWS |
12207 | | -/* Vista is supported and the GetMaximumProcessorCount API is Win7+ |
12208 | | - Need to fallback to Vista behavior if this call isn't present */ |
12209 | | -HINSTANCE hKernel32; |
12210 | | -static DWORD(CALLBACK *_GetMaximumProcessorCount)(WORD) = NULL; |
12211 | | -Py_BEGIN_ALLOW_THREADS |
12212 | | -hKernel32 = GetModuleHandleW(L"KERNEL32"); |
12213 | | -*(FARPROC*)&_GetMaximumProcessorCount = GetProcAddress(hKernel32, |
12214 | | -"GetMaximumProcessorCount"); |
12215 | | -Py_END_ALLOW_THREADS |
12216 | | -if (_GetMaximumProcessorCount != NULL) { |
12217 | | -ncpu = _GetMaximumProcessorCount(ALL_PROCESSOR_GROUPS); |
12218 | | - } |
12219 | | -else { |
12220 | | -SYSTEM_INFO sysinfo; |
12221 | | -GetSystemInfo(&sysinfo); |
12222 | | -ncpu = sysinfo.dwNumberOfProcessors; |
12223 | | - } |
| 12207 | +/* Declare prototype here to avoid pulling in all of the Win7 APIs in 3.8 */ |
| 12208 | +DWORD WINAPI GetActiveProcessorCount(WORD group); |
| 12209 | +ncpu = GetActiveProcessorCount(ALL_PROCESSOR_GROUPS); |
12224 | 12210 | #elif defined(__hpux) |
12225 | 12211 | ncpu = mpctl(MPC_GETNUMSPUS, NULL, NULL); |
12226 | 12212 | #elif defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN) |
|