about summary refs log tree commit diff
path: root/src/libstore
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/build.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index a8ef9b23efaf..149cd8b09783 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -1300,6 +1300,13 @@ void DerivationGoal::buildDone()
            being valid. */
         computeClosure();
 
+        /* It is now safe to delete the lock files, since all future
+           lockers will see that the output paths are valid; they will
+           not create new lock files with the same names as the old
+           (unlinked) lock files. */
+        outputLocks.setDeletion(true);
+        outputLocks.unlock();
+
     } catch (BuildError & e) {
         printMsg(lvlError, e.msg());
         outputLocks.unlock();
@@ -1987,13 +1994,6 @@ void DerivationGoal::computeClosure()
         infos.push_back(info);
     }
     worker.store.registerValidPaths(infos);
-
-    /* It is now safe to delete the lock files, since all future
-       lockers will see that the output paths are valid; they will not
-       create new lock files with the same names as the old (unlinked)
-       lock files. */
-    outputLocks.setDeletion(true);
-    outputLocks.unlock();
 }