summaryrefslogtreecommitdiff
path: root/random/jitterentropy-base-user.h
diff options
context:
space:
mode:
Diffstat (limited to 'random/jitterentropy-base-user.h')
-rw-r--r--random/jitterentropy-base-user.h15
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