diff --git a/lix/libstore/build/local-derivation-goal.cc b/lix/libstore/build/local-derivation-goal.cc index 5d7a4ec7c..7f0a65c89 100644 --- a/lix/libstore/build/local-derivation-goal.cc +++ b/lix/libstore/build/local-derivation-goal.cc @@ -1211,7 +1211,13 @@ void LocalDerivationGoal::runChild(const Path & builder, const Strings & envStrs logger = makeSimpleLogger(); - restoreSignals(); + { + sigset_t set; + sigemptyset(&set); + if (sigprocmask(SIG_SETMASK, &set, nullptr)) { + throw SysError("failed to unmask signals"); + } + } /* Put the child in a separate session (and thus a separate process group) so that it has no controlling terminal (meaning