summaryrefslogtreecommitdiff
path: root/src/platform.c
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2022-10-15 21:59:25 +0900
committerRyo Nakamura <upa@haeena.net>2022-10-15 21:59:25 +0900
commit303a9eb974f884b5f9f7e14fdd83a821f21e32e6 (patch)
tree91c535639e39e7f204db7a194854f4865dfff184 /src/platform.c
initial commit
Diffstat (limited to 'src/platform.c')
-rw-r--r--src/platform.c27
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
+