aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build/worker.cc
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-09-24 00:21:16 +0200
committereldritch horrors <pennae@lix.systems>2024-09-29 14:29:14 +0000
commit8fb642b6e09368d10d8357fcb7c508f706fa5f08 (patch)
tree8ddf9ab70729c40c2776a0f8a00eb305c79abfcb /src/libstore/build/worker.cc
parent1a52e4f755c3fcc50e58f7a0b04269a3839b7eea (diff)
libstore: remove Goal::WaitForWorld
have DerivationGoal and its subclasses produce a wrapper promise for their intermediate results instead, and return this wrapper promise. Worker already handles promises that do not complete immediately, so we do not have to duplicate this into an entire result type variant. Change-Id: Iae8dbf63cfc742afda4d415922a29ac5a3f39348
Diffstat (limited to 'src/libstore/build/worker.cc')
-rw-r--r--src/libstore/build/worker.cc11
1 files changed, 0 insertions, 11 deletions
diff --git a/src/libstore/build/worker.cc b/src/libstore/build/worker.cc
index 18cdde63a..1b1bf1d5c 100644
--- a/src/libstore/build/worker.cc
+++ b/src/libstore/build/worker.cc
@@ -202,17 +202,6 @@ void Worker::handleWorkResult(GoalPtr goal, Goal::WorkResult how)
overloaded{
[&](Goal::StillAlive) {},
[&](Goal::ContinueImmediately) { wakeUp(goal); },
- [&](Goal::WaitForWorld & w) {
- childStarted(goal, w.promise.then([](auto r) -> Result<Goal::WorkResult> {
- if (r.has_value()) {
- return {Goal::ContinueImmediately{}};
- } else if (r.has_error()) {
- return {std::move(r).error()};
- } else {
- return r.exception();
- }
- }));
- },
[&](Goal::Finished & f) { goalFinished(goal, f); },
},
how