about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2004-06-28T13·51+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2004-06-28T13·51+0000
commit4d2946c516aefd26daec8b2f4c4248e43ce85a62 (patch)
treeee9939325dbee6ef039ed9acc035a724bf34ada4
parent24286e15c9822833c39d268e521522b9933db28e (diff)
* In a realisation goal, check the result of the corresponding
  normalisation goal.

-rw-r--r--src/libstore/normalise.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libstore/normalise.cc b/src/libstore/normalise.cc
index 6fc3bdfc337a..a6bac62bf3ef 100644
--- a/src/libstore/normalise.cc
+++ b/src/libstore/normalise.cc
@@ -1254,6 +1254,7 @@ void RealisationGoal::init()
     trace("init");
 
     if (querySuccessor(nePath, nfPath)) {
+        nrFailed = 0;
         isNormalised();
         return;
     }
@@ -1277,6 +1278,11 @@ void RealisationGoal::isNormalised()
 {
     trace("has been normalised");
 
+    if (nrFailed != 0) {
+        amDone(false);
+        return;
+    }
+
     nfPath = queryNormalForm(nePath);
 
     /* Now make sure that the store expression exists.  If it doesn't,