diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-10-10T14·46+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-10-10T14·46+0000 |
commit | d3d5e77810cca11cca95bbb6f0f5e15d23f31eea (patch) | |
tree | 09693dd9f6711576a587a37a20194cd82f75a45d /src/store.hh | |
parent | 1eb4da156cca1b1981ab1f60bb9797ed1e93101a (diff) |
* Reverse mappings for the successor and substitute mappings.
Diffstat (limited to 'src/store.hh')
-rw-r--r-- | src/store.hh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/store.hh b/src/store.hh index 69de8247860f..7b32a1a731e9 100644 --- a/src/store.hh +++ b/src/store.hh @@ -12,6 +12,16 @@ using namespace std; /* Copy a path recursively. */ void copyPath(const Path & src, const Path & dst); +/* Register a successor. This function accepts a transaction handle + so that it can be enclosed in an atomic operation with calls to + registerValidPath(). This must be atomic, since if we register a + successor for a derivation without registering the paths built in + the derivation, we have a successor with dangling pointers, and if + we do it in reverse order, we can get an obstructed build (since to + rebuild the successor, the outputs paths must not exist). */ +void registerSuccessor(const Transaction & txn, + const Path & path1, const Path & path2); + /* Register a substitute. */ void registerSubstitute(const Path & srcPath, const Path & subPath); |