[v0.98] Patch to fix the compilation error reported by #93

This commit is contained in:
Dr-Noob
2021-06-19 00:03:13 +02:00
parent 26139e061d
commit 5c3f49c580
2 changed files with 14 additions and 2 deletions

View File

@@ -4,6 +4,9 @@
#elif defined __linux__
#define _GNU_SOURCE
#include <sched.h>
#elif defined __FreeBSD__
#include <sys/param.h>
#include <sys/cpuset.h>
#elif defined __APPLE__
#define UNUSED(x) (void)(x)
#endif
@@ -76,7 +79,7 @@ bool bind_to_cpu(int cpu_id) {
HANDLE process = GetCurrentProcess();
DWORD_PTR processAffinityMask = 1 << cpu_id;
return SetProcessAffinityMask(process, processAffinityMask);
#else
#elif defined __linux__
cpu_set_t currentCPU;
CPU_ZERO(&currentCPU);
CPU_SET(cpu_id, &currentCPU);
@@ -85,6 +88,15 @@ bool bind_to_cpu(int cpu_id) {
return false;
}
return true;
#elif defined __FreeBSD__
cpuset_t currentCPU;
CPU_ZERO(&currentCPU);
CPU_SET(cpu_id, &currentCPU);
if(cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, sizeof(cpuset_t), &currentCPU) == -1) {
perror("cpuset_setaffinity");
return false;
}
return true;
#endif
}
#endif