aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build/derivation-goal.hh
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-08-11 21:53:29 +0200
committereldritch horrors <pennae@lix.systems>2024-08-18 22:04:06 +0000
commite2d330aeed19a1bfed56ea55277ac9400fbc7fed (patch)
tree8089cbe286d252bfc441695655bd8f21a206aceb /src/libstore/build/derivation-goal.hh
parent007211e7a27a512cb343060e8b363c9f66ef67af (diff)
libstore: remove DerivationGoal::isReadDesc
all derivation goals need a log fd of some description. let's save this single fd in a dedicated pointer field for all subclasses so that later we have just the one spot to change if we turn this into async promises Change-Id: If223adf90909247363fb823d751cae34d25d0c0b
Diffstat (limited to 'src/libstore/build/derivation-goal.hh')
-rw-r--r--src/libstore/build/derivation-goal.hh9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libstore/build/derivation-goal.hh b/src/libstore/build/derivation-goal.hh
index 250b437da..da935ceb5 100644
--- a/src/libstore/build/derivation-goal.hh
+++ b/src/libstore/build/derivation-goal.hh
@@ -187,6 +187,13 @@ struct DerivationGoal : public Goal
std::unique_ptr<HookInstance> hook;
/**
+ * Builder output is pulled from this file descriptor when not null.
+ * Owned by the derivation goal or subclass, must not be reset until
+ * the build has finished and no more output must be processed by us
+ */
+ AutoCloseFD * builderOutFD = nullptr;
+
+ /**
* The sort of derivation we are building.
*/
std::optional<DerivationType> derivationType;
@@ -290,8 +297,6 @@ struct DerivationGoal : public Goal
virtual void cleanupPostOutputsRegisteredModeCheck();
virtual void cleanupPostOutputsRegisteredModeNonCheck();
- virtual bool isReadDesc(int fd);
-
/**
* Callback used by the worker to write to the log.
*/