* Fix a huge gaping hole in nix-env w.r.t. the garbage collector.
Nix-env failed to call addPermRoot(), which is necessary to safely
add a new root. So if nix-env started after and finished before the
garbage collector, the user environment (plus all other new stuff)
it built might be garbage collected, leading to a dangling symlink
chain in ~/.nix-profile...
* Be more explicit if we block on the GC lock ("waiting for the big
garbage collector lock...").
* Don't loop trying to create a new generation. It's not necessary
anymore since profiles are locked nowadays.
This commit is contained in:
parent
f00bc4c94c
commit
5c38c863bd
3 changed files with 26 additions and 22 deletions
|
|
@ -39,7 +39,7 @@ void removeTempRoots();
|
|||
|
||||
/* Register a permanent GC root. */
|
||||
Path addPermRoot(const Path & storePath, const Path & gcRoot,
|
||||
bool indirect);
|
||||
bool indirect, bool allowOutsideRootsDir = false);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue