aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2020-11-03 12:52:57 +0100
committerEelco Dolstra <edolstra@gmail.com>2020-11-03 14:45:24 +0100
commite8c379555fa0441c5ab83b8e5a3a106d69fe2507 (patch)
tree45b0f28fa11b7a57e46b01392bfee200ac520049 /src/libstore/build
parent797a52e31d97381e0be7e0a80e43f8cb259f8a6b (diff)
LocalStore: Get rid of recursive_mutex
Diffstat (limited to 'src/libstore/build')
-rw-r--r--src/libstore/build/derivation-goal.cc6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libstore/build/derivation-goal.cc b/src/libstore/build/derivation-goal.cc
index 19d96dd8f..bf2bad62c 100644
--- a/src/libstore/build/derivation-goal.cc
+++ b/src/libstore/build/derivation-goal.cc
@@ -3245,7 +3245,7 @@ void DerivationGoal::registerOutputs()
if (!oldInfo.ultimate) {
oldInfo.ultimate = true;
worker.store.signPathInfo(oldInfo);
- worker.store.registerValidPaths({ std::move(oldInfo) });
+ worker.store.registerValidPaths({{oldInfo.path, oldInfo}});
}
continue;
@@ -3275,7 +3275,7 @@ void DerivationGoal::registerOutputs()
isn't statically known so that we can safely unlock the path before
the next iteration */
if (newInfo.ca)
- worker.store.registerValidPaths({newInfo});
+ worker.store.registerValidPaths({{newInfo.path, newInfo}});
infos.emplace(outputName, std::move(newInfo));
}
@@ -3350,7 +3350,7 @@ void DerivationGoal::registerOutputs()
{
ValidPathInfos infos2;
for (auto & [outputName, newInfo] : infos) {
- infos2.push_back(newInfo);
+ infos2.insert_or_assign(newInfo.path, newInfo);
}
worker.store.registerValidPaths(infos2);
}