diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc index e6f7c56e77..9b9f3d2b65 100644 --- a/nix/libstore/build.cc +++ b/nix/libstore/build.cc @@ -635,7 +635,7 @@ HookInstance::HookInstance() HookInstance::~HookInstance() { try { - pid.kill(); + pid.kill(true); } catch (...) { ignoreException(); } diff --git a/nix/libutil/util.cc b/nix/libutil/util.cc index b79212018b..22f49f76d5 100644 --- a/nix/libutil/util.cc +++ b/nix/libutil/util.cc @@ -740,11 +740,12 @@ Pid::operator pid_t() } -void Pid::kill() +void Pid::kill(bool quiet) { if (pid == -1 || pid == 0) return; - printMsg(lvlError, format("killing process %1%") % pid); + if (!quiet) + printMsg(lvlError, format("killing process %1%") % pid); /* Send the requested signal to the child. If it has its own process group, send the signal to every process in the child diff --git a/nix/libutil/util.hh b/nix/libutil/util.hh index cf513c008e..7e538ea033 100644 --- a/nix/libutil/util.hh +++ b/nix/libutil/util.hh @@ -253,7 +253,7 @@ public: ~Pid(); void operator =(pid_t pid); operator pid_t(); - void kill(); + void kill(bool quiet = false); int wait(bool block); void setSeparatePG(bool separatePG); void setKillSignal(int signal);