From 13114daa3e38abc5c84987830d9276b93251592f Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 12 Sep 2011 09:07:43 +0000 Subject: * Ouch. A store upgrade could cause a substituter to be triggered, causing a deadlock. --- src/libstore/derivations.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/libstore/derivations.cc') 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; } -- cgit 1.4.1