Revert "nix: Guard against removing temporary roots of living processes."
authorLudovic Courtès <ludo@gnu.org>
Mon, 17 Oct 2022 07:36:43 +0000 (09:36 +0200)
committerLudovic Courtès <ludo@gnu.org>
Mon, 17 Oct 2022 07:37:27 +0000 (09:37 +0200)
This reverts commit bb0beaecdee1a2315a1269b1746d238c8ab0e699.  This
change broke a number of tests that assumed the previous behavior.

nix/libstore/gc.cc

index f101de9..1651911 100644 (file)
@@ -2,7 +2,6 @@
 #include "misc.hh"
 #include "local-store.hh"
 
-#include <string>
 #include <functional>
 #include <queue>
 #include <algorithm>
@@ -227,10 +226,10 @@ static void readTempRoots(PathSet & tempRoots, FDs & fds)
         //FDPtr fd(new AutoCloseFD(openLockFile(path, false)));
         //if (*fd == -1) continue;
 
-        /* Try to acquire a write lock without blocking.  This can only
-           succeed if the owning process has died, in which case we don't care
-           about its temporary roots, or if we are the owning process.  */
-        if (i.name != std::to_string(getpid()) && lockFile(*fd, ltWrite, false)) {
+        /* Try to acquire a write lock without blocking.  This can
+           only succeed if the owning process has died.  In that case
+           we don't care about its temporary roots. */
+        if (lockFile(*fd, ltWrite, false)) {
             printMsg(lvlError, format("removing stale temporary roots file `%1%'") % path);
             unlink(path.c_str());
             writeFull(*fd, "d");