Revert "nix: Guard against removing temporary roots of living processes."

This reverts commit bb0beaecde.  This
change broke a number of tests that assumed the previous behavior.
This commit is contained in:
Ludovic Courtès 2022-10-17 09:36:43 +02:00
parent 094b357783
commit eec920ba93
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

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