diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 278529bc22..ed53f48aa0 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -1066,7 +1066,8 @@ bool DerivationGoal::prepareBuild() /* Obtain locks on all output paths. The locks are automatically released when we exit this function or Nix crashes. */ /* !!! BUG: this could block, which is not allowed. */ - outputLocks.lockPaths(outputPaths(drv.outputs)); + outputLocks.lockPaths(outputPaths(drv.outputs), + (format("waiting for lock on %1%") % showPaths(outputPaths(drv.outputs))).str()); /* Now check again whether the outputs are valid. This is because another process may have started building in parallel. After @@ -1715,10 +1716,9 @@ void SubstitutionGoal::tryToRun() } /* Acquire a lock on the output path. */ - PathSet lockPath; - lockPath.insert(storePath); outputLock = shared_ptr(new PathLocks); - outputLock->lockPaths(lockPath); + outputLock->lockPaths(singleton(storePath), + (format("waiting for lock on `%1%'") % storePath).str()); /* Check again whether the path is invalid. */ if (isValidPath(storePath)) {