diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-02-02T16·27+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-02-02T16·27+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 193974bf83bd..123248c17670 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); |