aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/affinity.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libutil/affinity.cc')
-rw-r--r--src/libutil/affinity.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libutil/affinity.cc b/src/libutil/affinity.cc
index 3e21f43a2..3cbdf8786 100644
--- a/src/libutil/affinity.cc
+++ b/src/libutil/affinity.cc
@@ -2,14 +2,14 @@
#include "util.hh"
#include "affinity.hh"
-#if HAVE_SCHED_H
+#if __linux__
#include <sched.h>
#endif
namespace nix {
-#if HAVE_SCHED_SETAFFINITY
+#if __linux__
static bool didSaveAffinity = false;
static cpu_set_t savedAffinity;
#endif
@@ -17,7 +17,7 @@ static cpu_set_t savedAffinity;
void setAffinityTo(int cpu)
{
-#if HAVE_SCHED_SETAFFINITY
+#if __linux__
if (sched_getaffinity(0, sizeof(cpu_set_t), &savedAffinity) == -1) return;
didSaveAffinity = true;
printMsg(lvlDebug, format("locking this thread to CPU %1%") % cpu);
@@ -32,7 +32,7 @@ void setAffinityTo(int cpu)
int lockToCurrentCPU()
{
-#if HAVE_SCHED_SETAFFINITY
+#if __linux__
int cpu = sched_getcpu();
if (cpu != -1) setAffinityTo(cpu);
return cpu;
@@ -44,7 +44,7 @@ int lockToCurrentCPU()
void restoreAffinity()
{
-#if HAVE_SCHED_SETAFFINITY
+#if __linux__
if (!didSaveAffinity) return;
if (sched_setaffinity(0, sizeof(cpu_set_t), &savedAffinity) == -1)
printMsg(lvlError, "failed to restore affinity %1%");