about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2008-06-14T16·03+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2008-06-14T16·03+0000
commitf351834f77441e14238b3348cfe211fa6f6f4e3a (patch)
treea6cf4a7ab446029c2bb8bedb8e93a717f30fe8d6
parent94fd46fa1c4655a609b3a67bef447c9547eb5080 (diff)
* nix-worker: clean up the temporary root for the worker processes
  in /nix/var/nix/temproots.

-rw-r--r--src/libmain/shared.cc15
-rw-r--r--src/libmain/shared.hh5
-rw-r--r--src/nix-worker/nix-worker.cc2
3 files changed, 13 insertions, 9 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 09841e45befb..a67d2c47085c 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 a7e46c927d08..62f505189f83 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 134e1a693380..0d0964f3a668 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;