libstore: simplify makeTemp{,Sibling}Path callers
There is now no risk of race conditions on a system with a functioning entropy source, and the bespoke prefixes are either redundant to the default or unnecessary. Change-Id: I6a6a69641211c6bb979ea48ad30aecb1a53d03f0
This commit is contained in:
@@ -769,11 +769,7 @@ void replaceValidPath(const Path & storePath, const Path & tmpPath)
|
||||
we're repairing (say) Glibc, we end up with a broken system. */
|
||||
Path oldPath;
|
||||
if (pathExists(storePath)) {
|
||||
do {
|
||||
oldPath = makeTempSiblingPath(storePath);
|
||||
// store paths are often directories so we can't just unlink() it
|
||||
// let's make sure the path doesn't exist before we try to use it
|
||||
} while (pathExists(oldPath));
|
||||
oldPath = makeTempSiblingPath(storePath);
|
||||
movePath(storePath, oldPath);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@ void LocalStore::createTempRootsFile()
|
||||
|
||||
/* Create the temporary roots file for this process. */
|
||||
while (true) {
|
||||
auto tmp = makeTempPath(fnTempRoots, ".tmp");
|
||||
auto tmp = makeTempPath(fnTempRoots);
|
||||
AutoCloseFD fd{sys::open(tmp, O_RDWR | O_CREAT | O_EXCL | O_CLOEXEC, 0600)};
|
||||
if (!fd && errno != EEXIST) {
|
||||
throw SysError("opening lock file '%1%'", tmp);
|
||||
|
||||
@@ -227,8 +227,7 @@ std::optional<struct ::stat> LocalStore::optimisePath_(
|
||||
its timestamp back to 0. */
|
||||
MakeReadOnly makeReadOnly(mustToggle ? dirOfPath : "");
|
||||
|
||||
Path tempLink = makeTempPath(config().realStoreDir, "/.tmp-link");
|
||||
(void) sys::unlink(tempLink); // just in case; ignore errors
|
||||
Path tempLink = makeTempPath(config().realStoreDir + "/");
|
||||
|
||||
if (sys::link(linkPath, tempLink) == -1) {
|
||||
if (errno == EMLINK) {
|
||||
|
||||
Reference in New Issue
Block a user