aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/build/local-derivation-goal.cc
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-08-13 03:26:18 +0200
committereldritch horrors <pennae@lix.systems>2024-08-19 09:13:44 +0000
commite513cd2bebe6c4ed012bd4d2e92650c67f0df4bf (patch)
tree42efd4be8d4876a22647105e05b0050df56c094f /src/libstore/build/local-derivation-goal.cc
parentfb8eb539fca224803014d43c220abbd6e704a962 (diff)
libstore: run childStarted as late as possible
otherwise we *technically* give away the output fds before we've read them. Change-Id: I6ad0d6a1bb553ecfcdd7708f50d34142a425374d
Diffstat (limited to 'src/libstore/build/local-derivation-goal.cc')
-rw-r--r--src/libstore/build/local-derivation-goal.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
index afb9524ef..25b520c05 100644
--- a/src/libstore/build/local-derivation-goal.cc
+++ b/src/libstore/build/local-derivation-goal.cc
@@ -726,7 +726,6 @@ void LocalDerivationGoal::startBuilder()
/* parent */
pid.setSeparatePG(true);
- worker.childStarted(shared_from_this(), {builderOutPTY.get()}, true);
/* Check if setting up the build environment failed. */
std::vector<std::string> msgs;
@@ -753,6 +752,8 @@ void LocalDerivationGoal::startBuilder()
debug("sandbox setup: " + msg);
msgs.push_back(std::move(msg));
}
+
+ worker.childStarted(shared_from_this(), {builderOutPTY.get()}, true);
}