compilable in linux

This commit is contained in:
Ryo Nakamura
2022-10-23 15:51:21 +09:00
parent 99b2bca7e5
commit d11ac58f4b
4 changed files with 23 additions and 11 deletions

View File

@@ -1,14 +1,15 @@
#include <util.h>
#include <platform.h>
#ifdef __APPLE__
#include <sys/types.h>
#include <sys/sysctl.h>
#elif linux
#define _GNU_SOURCE
#include <sched.h>
#else
#error unsupported platform
#endif
#include <util.h>
#include <platform.h>
#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