diff options
Diffstat (limited to 'src/platform.c')
-rw-r--r-- | src/platform.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/platform.c b/src/platform.c new file mode 100644 index 0000000..5e0573e --- /dev/null +++ b/src/platform.c @@ -0,0 +1,27 @@ +#include <util.h> +#include <platform.h> + +#ifdef __APPLE__ +#include <sys/types.h> +#include <sys/sysctl.h> +#elif linux +#else +#error unsupported platform +#endif + + +#ifdef __APPLE__ +int nr_cpus() +{ + int n; + size_t size = sizeof(n); + + if (sysctlbyname("machdep.cpu.core_count", &n, &size, NULL, 0) != 0) { + pr_err("failed to get number of cpu cores: %s\n", strerrno()); + return -1; + } + + return n; +} +#endif + |