aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build/worker.cc
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-10-05 00:38:35 +0200
committereldritch horrors <pennae@lix.systems>2024-10-05 19:06:59 +0000
commita9f2aab22612bea940aa79cfb2eb15cc650ff869 (patch)
tree7506cc3267bb7a7cefccca6700d80d4047d86a4e /src/libstore/build/worker.cc
parent99edc2ae38b533ecd742c172a3531cc8958c4be5 (diff)
libstore: extract Worker::goalFinished specifics
there's no reason to have the worker set information on goals that the goals themselves return from their entry point. doing this in the goal `work()` function is much cleaner, and a prerequisite to removing more implicit strong shared references to goals that are currently running. Change-Id: Ibb3e953ab8482a6a21ce2ed659d5023a991e7923
Diffstat (limited to 'src/libstore/build/worker.cc')
-rw-r--r--src/libstore/build/worker.cc7
1 files changed, 0 insertions, 7 deletions
diff --git a/src/libstore/build/worker.cc b/src/libstore/build/worker.cc
index 0e8694a6d..e90f17678 100644
--- a/src/libstore/build/worker.cc
+++ b/src/libstore/build/worker.cc
@@ -195,19 +195,12 @@ static void removeGoal(std::shared_ptr<G> goal, auto & goalMap)
void Worker::goalFinished(GoalPtr goal, Goal::WorkResult & f)
{
- goal->trace("done");
- assert(!goal->exitCode.has_value());
- goal->exitCode = f.exitCode;
- goal->ex = f.ex;
-
permanentFailure |= f.permanentFailure;
timedOut |= f.timedOut;
hashMismatch |= f.hashMismatch;
checkMismatch |= f.checkMismatch;
removeGoal(goal);
- goal->notify->fulfill();
- goal->cleanup();
}
void Worker::removeGoal(GoalPtr goal)