aboutsummaryrefslogtreecommitdiff
path: root/src/libstore
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-15 19:35:18 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-11-15 19:35:18 +0100
commitf794465ca8bd2a8d41ee3b6928db5fb1479dc96d (patch)
tree972ed5f7b7327444556b0cdd2c92697a44575673 /src/libstore
parent8541d27fce95f1f6a4a6c89bcbc09503ff7ea092 (diff)
Disable use of vfork()
vfork() is just too weird. For instance, in this build: http://hydra.nixos.org/build/3330487 the value fromHook.writeSide becomes corrupted in the parent, even though the child only reads from it. At -O0 the problem goes away. Probably the child is overriding some spilled temporary variable. If I get bored I may implement using posix_spawn() instead.
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/build.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index 2fd071eba..9e0db9ee7 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -355,7 +355,7 @@ void Goal::trace(const format & f)
/* Common initialisation performed in child processes. */
-void commonChildInit(Pipe & logPipe)
+static void commonChildInit(Pipe & logPipe)
{
/* Put the child in a separate session (and thus a separate
process group) so that it has no controlling terminal (meaning