about summary refs log tree commit diff
path: root/src/libutil/util.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-09T17·00+0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-09T17·00+0100
commitea89df2b76811505239b508a570ac9c0ea591038 (patch)
tree7b11ea7186ad2b73bf12ebb2e51e7238a052db85 /src/libutil/util.hh
parent48c19c4633b1443015531ee3032b16b29b0a92f9 (diff)
Use vfork() instead of fork() if available
Hopefully this reduces the chance of hitting ‘unable to fork: Cannot
allocate memory’ errors.  vfork() is used for everything except
starting builders.
Diffstat (limited to 'src/libutil/util.hh')
-rw-r--r--src/libutil/util.hh3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index 0e121ea5c6..90413b0efe 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -266,6 +266,9 @@ void closeOnExec(int fd);
    sanitize file handles 0, 1 and 2. */
 void setuidCleanup();
 
+/* Call vfork() if available, otherwise fork(). */
+extern pid_t (*maybeVfork)();
+
 
 /* User interruption. */