aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-20 15:10:51 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-09-20 15:41:41 +0200
commit9fc4cb2ae970f860bc309cbaf40957f53a36d423 (patch)
treeae8a2b106bff7332c75d1ee927e3074842b379ea
parent0d38b4c7926890decbe2b03ed8f84584a5ce9b8a (diff)
nix-shell: Restore CPU affinity
Otherwise the shell and its children will be bound to one CPU core...
-rwxr-xr-xsrc/nix-build/nix-build.cc16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/nix-build/nix-build.cc b/src/nix-build/nix-build.cc
index 248474d53..a31f7c96c 100755
--- a/src/nix-build/nix-build.cc
+++ b/src/nix-build/nix-build.cc
@@ -1,18 +1,20 @@
#include <cstring>
+#include <fstream>
+#include <iostream>
#include <regex>
-#include "util.hh"
-#include <unistd.h>
-#include "shared.hh"
#include <sstream>
#include <vector>
-#include <iostream>
-#include <fstream>
+
+#include <unistd.h>
+
#include "store-api.hh"
#include "globals.hh"
#include "derivations.hh"
+#include "affinity.hh"
+#include "util.hh"
+#include "shared.hh"
using namespace nix;
-using std::stringstream;
extern char ** environ;
@@ -400,6 +402,8 @@ int main(int argc, char ** argv)
for (const auto & env : drv.env)
setenv(env.first.c_str(), env.second.c_str(), 1);
+ restoreAffinity();
+
// Run a shell using the derivation's environment. For
// convenience, source $stdenv/setup to setup additional
// environment variables and shell functions. Also don't lose