aboutsummaryrefslogtreecommitdiff
path: root/src/libutil
diff options
context:
space:
mode:
authorGraham Christensen <graham@grahamc.com>2019-05-10 20:59:39 -0400
committerGraham Christensen <graham@grahamc.com>2019-05-12 13:17:26 -0400
commit6df61db0600ca73ccd51e3e5bec5312a04e99da1 (patch)
tree66de67c9b1ce6b90ea9d643d95d9a9d750b3c376 /src/libutil
parentc78686e411e0a14cff51836fe6c35d7584171df3 (diff)
diff hook: execute as the build user, and pass the temp dir
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/util.cc4
-rw-r--r--src/libutil/util.hh2
2 files changed, 4 insertions, 2 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index a71705665..0f4d3d92b 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -914,8 +914,8 @@ void killUser(uid_t uid)
/* Wrapper around vfork to prevent the child process from clobbering
the caller's stack frame in the parent. */
-static pid_t doFork(bool allowVfork, std::function<void()> fun) __attribute__((noinline));
-static pid_t doFork(bool allowVfork, std::function<void()> fun)
+pid_t doFork(bool allowVfork, std::function<void()> fun) __attribute__((noinline));
+pid_t doFork(bool allowVfork, std::function<void()> fun)
{
#ifdef __linux__
pid_t pid = allowVfork ? vfork() : fork();
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index 54936a5cb..824a35b98 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -265,6 +265,8 @@ string runProgram(Path program, bool searchPath = false,
const Strings & args = Strings(),
const std::optional<std::string> & input = {});
+pid_t doFork(bool allowVfork, std::function<void()> fun);
+
struct RunOptions
{
Path program;