diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-02-01 12:36:25 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-02-01 12:36:25 +0000 |
commit | dcc37c236c66ba463bd61fec23d046485d8a412f (patch) | |
tree | b1a34feaf2a9a0ca0e0bad89c1671289de9e19d2 /src/libstore/store.hh | |
parent | a6b65fd5e107416588a6572a88518d8816abcb12 (diff) |
* nix-store, nix-instantiate: added an option `--add-root' to
immediately add the result as a permanent GC root. This is the only
way to prevent a race with the garbage collector. For instance, the
old style
ln -s $(nix-store -r $(nix-instantiate foo.nix)) \
/nix/var/nix/gcroots/result
has two time windows in which the garbage collector can interfere
(by GC'ing the derivation and the output, respectively). On the
other hand,
nix-store --add-root /nix/var/nix/gcroots/result -r \
$(nix-instantiate --add-root /nix/var/nix/gcroots/drv \
foo.nix)
is safe.
* nix-build: use `--add-root' to prevent GC races.
Diffstat (limited to 'src/libstore/store.hh')
-rw-r--r-- | src/libstore/store.hh | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libstore/store.hh b/src/libstore/store.hh index dce4eb1d6..3a0b7a713 100644 --- a/src/libstore/store.hh +++ b/src/libstore/store.hh @@ -62,6 +62,8 @@ void registerValidPath(const Transaction & txn, /* Throw an exception if `path' is not directly in the Nix store. */ void assertStorePath(const Path & path); +bool isStorePath(const Path & path); + /* "Fix", or canonicalise, the meta-data of the files in a store path after it has been built. In particular: - the last modification date on each file is set to 0 (i.e., |