diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-09-12T09·07+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2011-09-12T09·07+0000 |
commit | 13114daa3e38abc5c84987830d9276b93251592f (patch) | |
tree | 9e26ad9846c4ea827fdc80cbdf9dc4848e39c455 /src/libstore/derivations.cc | |
parent | 281e3ed0590f253ef717a1f82123dfc569a110a1 (diff) |
* Ouch. A store upgrade could cause a substituter to be triggered,
causing a deadlock.
Diffstat (limited to 'src/libstore/derivations.cc')
-rw-r--r-- | src/libstore/derivations.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstore/derivations.cc b/src/libstore/derivations.cc index 5a0f4ecc69e0..97343d57d478 100644 --- a/src/libstore/derivations.cc +++ b/src/libstore/derivations.cc @@ -239,7 +239,8 @@ Hash hashDerivationModulo(StoreAPI & store, Derivation drv) foreach (DerivationInputs::const_iterator, i, drv.inputDrvs) { Hash h = drvHashes[i->first]; if (h.type == htUnknown) { - Derivation drv2 = derivationFromPath(store, i->first); + assert(store.isValidPath(i->first)); + Derivation drv2 = parseDerivation(readFile(i->first)); h = hashDerivationModulo(store, drv2); drvHashes[i->first] = h; } |