mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 08:16:15 +02:00
Address PR feedback on #6694
This commit is contained in:
parent
84fe75a12a
commit
565d888e0f
2 changed files with 3 additions and 5 deletions
|
@ -622,9 +622,8 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results)
|
||||||
/* There may be temp directories in the store that are still in use
|
/* There may be temp directories in the store that are still in use
|
||||||
by another process. We need to be sure that we can acquire an
|
by another process. We need to be sure that we can acquire an
|
||||||
exclusive lock before deleting them. */
|
exclusive lock before deleting them. */
|
||||||
AutoCloseFD tmpDirFd;
|
if (baseName.find("tmp-", 0) == 0) {
|
||||||
if (baseName.rfind("add-", 0) == 0) {
|
AutoCloseFD tmpDirFd = open(realPath.c_str(), O_RDONLY | O_DIRECTORY);
|
||||||
tmpDirFd = open(realPath.c_str(), O_RDONLY | O_DIRECTORY);
|
|
||||||
if (tmpDirFd.get() == -1 || !lockFile(tmpDirFd.get(), ltWrite, false)) {
|
if (tmpDirFd.get() == -1 || !lockFile(tmpDirFd.get(), ltWrite, false)) {
|
||||||
debug("skipping locked tempdir '%s'", realPath);
|
debug("skipping locked tempdir '%s'", realPath);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -1433,7 +1433,6 @@ StorePath LocalStore::addToStoreFromDump(Source & source0, std::string_view name
|
||||||
} else {
|
} else {
|
||||||
/* Move the temporary path we restored above. */
|
/* Move the temporary path we restored above. */
|
||||||
moveFile(tempPath, realPath);
|
moveFile(tempPath, realPath);
|
||||||
tempDirFd.close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* For computing the nar hash. In recursive SHA-256 mode, this
|
/* For computing the nar hash. In recursive SHA-256 mode, this
|
||||||
|
@ -1520,7 +1519,7 @@ std::pair<Path, AutoCloseFD> LocalStore::createTempDirInStore()
|
||||||
/* There is a slight possibility that `tmpDir' gets deleted by
|
/* There is a slight possibility that `tmpDir' gets deleted by
|
||||||
the GC between createTempDir() and when we acquire a lock on it.
|
the GC between createTempDir() and when we acquire a lock on it.
|
||||||
We'll repeat until 'tmpDir' exists and we've locked it. */
|
We'll repeat until 'tmpDir' exists and we've locked it. */
|
||||||
tmpDirFn = createTempDir(realStoreDir, "add");
|
tmpDirFn = createTempDir(realStoreDir, "tmp");
|
||||||
tmpDirFd = open(tmpDirFn.c_str(), O_RDONLY | O_DIRECTORY);
|
tmpDirFd = open(tmpDirFn.c_str(), O_RDONLY | O_DIRECTORY);
|
||||||
if (tmpDirFd.get() < 0) {
|
if (tmpDirFd.get() < 0) {
|
||||||
continue;
|
continue;
|
||||||
|
|
Loading…
Reference in a new issue