aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2023-03-14 18:58:12 +0100
committerEelco Dolstra <edolstra@gmail.com>2023-03-14 18:58:12 +0100
commit19326ac2979f0d989835105a5d816a943a6bc7f2 (patch)
tree99ee0d069e03391e7b50d34d6fece6e3cb71c81e
parenta387f46967ae9eb97eaeb17ca26fb583283815ce (diff)
Simplify commonChildInit()
-rw-r--r--src/libstore/build/hook-instance.cc2
-rw-r--r--src/libstore/build/local-derivation-goal.cc2
-rw-r--r--src/libutil/util.cc4
-rw-r--r--src/libutil/util.hh2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/libstore/build/hook-instance.cc b/src/libstore/build/hook-instance.cc
index cb58a1f02..ea2ae210e 100644
--- a/src/libstore/build/hook-instance.cc
+++ b/src/libstore/build/hook-instance.cc
@@ -35,7 +35,7 @@ HookInstance::HookInstance()
/* Fork the hook. */
pid = startProcess([&]() {
- commonChildInit(fromHook);
+ commonChildInit(fromHook.writeSide.get());
if (chdir("/") == -1) throw SysError("changing into /");
diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
index 6fb9b86e0..61c1cbccf 100644
--- a/src/libstore/build/local-derivation-goal.cc
+++ b/src/libstore/build/local-derivation-goal.cc
@@ -1649,7 +1649,7 @@ void LocalDerivationGoal::runChild()
try { /* child */
- commonChildInit(builderOut);
+ commonChildInit(builderOut.writeSide.get());
try {
setupSeccomp();
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index c1de4fb33..c605a33e6 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -1968,7 +1968,7 @@ std::string showBytes(uint64_t bytes)
// FIXME: move to libstore/build
-void commonChildInit(Pipe & logPipe)
+void commonChildInit(int stderrFd)
{
logger = makeSimpleLogger();
@@ -1983,7 +1983,7 @@ void commonChildInit(Pipe & logPipe)
throw SysError("creating a new session");
/* Dup the write side of the logger pipe into stderr. */
- if (dup2(logPipe.writeSide.get(), STDERR_FILENO) == -1)
+ if (dup2(stderrFd, STDERR_FILENO) == -1)
throw SysError("cannot pipe standard error into log file");
/* Dup stderr to stdout. */
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index 326c6b143..52ca36fd1 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -704,7 +704,7 @@ typedef std::function<bool(const Path & path)> PathFilter;
extern PathFilter defaultPathFilter;
/* Common initialisation performed in child processes. */
-void commonChildInit(Pipe & logPipe);
+void commonChildInit(int stderrFd);
/* Create a Unix domain socket. */
AutoCloseFD createUnixDomainSocket();