summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/os/unix/unix.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/os/unix/unix.cpp b/src/os/unix/unix.cpp
index 4020aeba2..ebae5c244 100644
--- a/src/os/unix/unix.cpp
+++ b/src/os/unix/unix.cpp
@@ -340,9 +340,18 @@ uint GetCPUCoreCount()
int ncpu = 0;
size_t len = sizeof(ncpu);
+#ifdef OPENBSD
+ int name[2];
+ name[0] = CTL_HW;
+ name[1] = HW_NCPU;
+ if (sysctl(name, 2, &ncpu, &len, NULL, 0) < 0) {
+ ncpu = 0;
+ }
+#else
if (sysctlbyname("hw.availcpu", &ncpu, &len, NULL, 0) < 0) {
sysctlbyname("hw.ncpu", &ncpu, &len, NULL, 0);
}
+#endif /* #ifdef OPENBSD */
if (ncpu > 0) count = ncpu;
#elif defined(_SC_NPROCESSORS_ONLN)