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:
parent
92d08c02c8
commit
01d07b1e92
9 changed files with 4 additions and 52 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue