diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-02-02 16:27:31 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-02-02 16:27:31 +0000 |
commit | b90daaaf6c1f52fe93f4f845da20b122cfea2936 (patch) | |
tree | de7769774a4d64448af95bef4f975131c08d03ae | |
parent | 6e2eaaec96e96ce593dd1e38d03fcf8d1f62eb55 (diff) |
* When killing a build hook, kill the entire process group (as
intended). This ensures that any ssh child processes to remote
machines are also killed, and thus the Nix process on the remote
machine also exits. Without this, the remote Nix process will
continue until it exists or until its stdout buffer gets full and it
locks up. (Partially fixes NIX-35.)
-rw-r--r-- | src/libstore/build.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 193974bf8..123248c17 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -931,6 +931,7 @@ DerivationGoal::HookReply DerivationGoal::tryBuildHook() } /* parent */ + pid.setSeparatePG(true); logPipe.writeSide.close(); worker.childStarted(shared_from_this(), pid, singleton<set<int> >(logPipe.readSide), false); |