diff options
author | eldritch horrors <pennae@lix.systems> | 2024-09-24 00:21:16 +0200 |
---|---|---|
committer | eldritch horrors <pennae@lix.systems> | 2024-09-29 14:29:14 +0000 |
commit | 8fb642b6e09368d10d8357fcb7c508f706fa5f08 (patch) | |
tree | 8ddf9ab70729c40c2776a0f8a00eb305c79abfcb /src/libstore/build/worker.cc | |
parent | 1a52e4f755c3fcc50e58f7a0b04269a3839b7eea (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.cc | 11 |
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 |