diff options
Diffstat (limited to 'random/jitterentropy-base-user.h')
-rw-r--r-- | random/jitterentropy-base-user.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/random/jitterentropy-base-user.h b/random/jitterentropy-base-user.h index 389106ff..3b4274af 100644 --- a/random/jitterentropy-base-user.h +++ b/random/jitterentropy-base-user.h @@ -141,7 +141,7 @@ static inline void jent_memset_secure(void *s, size_t n) static inline long jent_ncpu(void) { -#ifdef _POSIX_SOURCE +#if defined(_POSIX_SOURCE) long ncpu = sysconf(_SC_NPROCESSORS_ONLN); if (ncpu == -1) @@ -151,6 +151,19 @@ static inline long jent_ncpu(void) return -EFAULT; return ncpu; +#elif defined(HAVE_W32_SYSTEM) + SYSTEM_INFO sysinfo; + long ncpu; + + GetNativeSystemInfo (&sysinfo); + ncpu = sysinfo.dwNumberOfProcessors; + if (ncpu <= 0) { + GetSystemInfo (&sysinfo); + ncpu = sysinfo.dwNumberOfProcessors; + } + if (ncpu <= 0) + ncpu = 1; + return ncpu; #else return 1; #endif |