diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index 09841e45be..a67d2c4708 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -70,15 +70,6 @@ static unsigned int getIntArg(const string & opt, } -struct RemoveTempRoots -{ - ~RemoveTempRoots() - { - removeTempRoots(); - } -}; - - void initDerivationsHelpers(); @@ -99,6 +90,12 @@ static void closeStore() } +RemoveTempRoots::~RemoveTempRoots() +{ + removeTempRoots(); +} + + /* Initialize and reorder arguments, then call the actual argument processor. */ static void initAndRun(int argc, char * * argv) diff --git a/src/libmain/shared.hh b/src/libmain/shared.hh index a7e46c927d..62f505189f 100644 --- a/src/libmain/shared.hh +++ b/src/libmain/shared.hh @@ -33,6 +33,11 @@ extern volatile ::sig_atomic_t blockInt; MakeError(UsageError, nix::Error); +struct RemoveTempRoots +{ + ~RemoveTempRoots(); +}; + } diff --git a/src/nix-worker/nix-worker.cc b/src/nix-worker/nix-worker.cc index 134e1a6933..0d0964f3a6 100644 --- a/src/nix-worker/nix-worker.cc +++ b/src/nix-worker/nix-worker.cc @@ -439,6 +439,8 @@ static void performOp(unsigned int clientVersion, static void processConnection() { + RemoveTempRoots removeTempRoots; /* unused variable - don't remove */ + canSendStderr = false; myPid = getpid(); writeToStderr = tunnelStderr;