From d11ac58f4b95b2f0fe3579b6fd430b2c29465af2 Mon Sep 17 00:00:00 2001 From: Ryo Nakamura Date: Sun, 23 Oct 2022 15:51:21 +0900 Subject: compilable in linux --- src/platform.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/platform.c') diff --git a/src/platform.c b/src/platform.c index 5e0573e..1a87cd3 100644 --- a/src/platform.c +++ b/src/platform.c @@ -1,14 +1,15 @@ -#include -#include - #ifdef __APPLE__ #include #include #elif linux +#define _GNU_SOURCE +#include #else #error unsupported platform #endif +#include +#include #ifdef __APPLE__ int nr_cpus() @@ -25,3 +26,13 @@ int nr_cpus() } #endif +#ifdef linux +int nr_cpus() +{ + cpu_set_t cpu_set; + if (sched_getaffinity(0, sizeof(cpu_set_t), &cpu_set) == 0) + return CPU_COUNT(&cpu_set); + return -1; +} +#endif + -- cgit v1.2.3