aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build/worker.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/build/worker.hh')
-rw-r--r--src/libstore/build/worker.hh21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/libstore/build/worker.hh b/src/libstore/build/worker.hh
index 3984c9c1c..5af93b49e 100644
--- a/src/libstore/build/worker.hh
+++ b/src/libstore/build/worker.hh
@@ -105,6 +105,9 @@ private:
*/
std::map<StorePath, bool> pathContentsGoodCache;
+ void goalFinished(GoalPtr goal, Goal::Finished & f);
+ void handleWorkResult(GoalPtr goal, Goal::WorkResult how);
+
public:
const Activity act;
@@ -135,7 +138,17 @@ public:
Store & store;
Store & evalStore;
- std::unique_ptr<HookInstance> hook;
+ struct HookState {
+ std::unique_ptr<HookInstance> instance;
+
+ /**
+ * Whether to ask the build hook if it can build a derivation. If
+ * it answers with "decline-permanently", we don't try again.
+ */
+ bool available = true;
+ };
+
+ HookState hook;
uint64_t expectedBuilds = 0;
uint64_t doneBuilds = 0;
@@ -151,12 +164,6 @@ public:
uint64_t expectedNarSize = 0;
uint64_t doneNarSize = 0;
- /**
- * Whether to ask the build hook if it can build a derivation. If
- * it answers with "decline-permanently", we don't try again.
- */
- bool tryBuildHook = true;
-
Worker(Store & store, Store & evalStore);
~Worker();