1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-22 02:09:36 +01:00

Revert "Restore parent mount namespace before executing a child process"

This reverts commit a0ef21262f. This
doesn't work in 'nix run' and nix-shell because setns() fails in
multithreaded programs, and Boehm GC mark threads are uncancellable.

Fixes #2646.
This commit is contained in:
Eelco Dolstra 2019-02-05 10:49:19 +01:00
parent 92d08c02c8
commit 01d07b1e92
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
9 changed files with 4 additions and 52 deletions

View file

@ -3,7 +3,6 @@
#include "eval.hh"
#include "attr-path.hh"
#include "progress-bar.hh"
#include "affinity.hh"
#include <unistd.h>
@ -73,10 +72,6 @@ struct CmdEdit : InstallableCommand
stopProgressBar();
restoreAffinity();
restoreSignals();
restoreMountNamespace();
execvp(args.front().c_str(), stringsToCharPtrs(args).data());
throw SysError("cannot run editor '%s'", editor);

View file

@ -337,8 +337,6 @@ static int runProgram(const string & program, const Strings & args)
if (pid == -1) throw SysError("forking");
if (pid == 0) {
restoreAffinity();
restoreSignals();
restoreMountNamespace();
execvp(program.c_str(), stringsToCharPtrs(args2).data());
_exit(1);
}

View file

@ -153,9 +153,9 @@ struct CmdRun : InstallablesCommand
stopProgressBar();
restoreAffinity();
restoreSignals();
restoreMountNamespace();
restoreAffinity();
/* If this is a diverted store (i.e. its "logical" location
(typically /nix/store) differs from its "physical" location