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.hh50
1 files changed, 26 insertions, 24 deletions
diff --git a/src/libstore/build/worker.hh b/src/libstore/build/worker.hh
index 1a913ca16..e80981876 100644
--- a/src/libstore/build/worker.hh
+++ b/src/libstore/build/worker.hh
@@ -86,7 +86,32 @@ class Worker : public WorkerBase
{
public:
using Targets = std::map<GoalPtr, kj::Promise<Result<Goal::WorkResult>>>;
- using Results = std::map<GoalPtr, Goal::WorkResult>;
+ struct Results {
+ std::map<GoalPtr, Goal::WorkResult> goals;
+
+ /**
+ * The exit status in case of failure.
+ *
+ * In the case of a build failure, returned value follows this
+ * bitmask:
+ *
+ * ```
+ * 0b1100100
+ * ^^^^
+ * |||`- timeout
+ * ||`-- output hash mismatch
+ * |`--- build failure
+ * `---- not deterministic
+ * ```
+ *
+ * In other words, the failure code is at least 100 (0b1100100), but
+ * might also be greater.
+ *
+ * Otherwise (no build failure, but some other sort of failure by
+ * assumption), this returned value is 1.
+ */
+ unsigned int failingExitStatus;
+ };
private:
@@ -248,29 +273,6 @@ public:
*/
Results run(std::function<Targets (GoalFactory &)> req);
- /***
- * The exit status in case of failure.
- *
- * In the case of a build failure, returned value follows this
- * bitmask:
- *
- * ```
- * 0b1100100
- * ^^^^
- * |||`- timeout
- * ||`-- output hash mismatch
- * |`--- build failure
- * `---- not deterministic
- * ```
- *
- * In other words, the failure code is at least 100 (0b1100100), but
- * might also be greater.
- *
- * Otherwise (no build failure, but some other sort of failure by
- * assumption), this returned value is 1.
- */
- unsigned int failingExitStatus();
-
/**
* Check whether the given valid path exists and has the right
* contents.