Fix hang in build-remote
This commit is contained in:
parent
4f09ce7940
commit
9bcb4d2dd9
3 changed files with 4 additions and 2 deletions
|
@ -241,7 +241,7 @@ connected:
|
||||||
|
|
||||||
if (!missing.empty()) {
|
if (!missing.empty()) {
|
||||||
Activity act(*logger, lvlTalkative, actUnknown, fmt("copying outputs from '%s'", storeUri));
|
Activity act(*logger, lvlTalkative, actUnknown, fmt("copying outputs from '%s'", storeUri));
|
||||||
setenv("NIX_HELD_LOCKS", concatStringsSep(" ", missing).c_str(), 1); /* FIXME: ugly */
|
store->locksHeld.insert(missing.begin(), missing.end()); /* FIXME: ugly */
|
||||||
copyPaths(ref<Store>(sshStore), store, missing, NoRepair, NoCheckSigs, substitute);
|
copyPaths(ref<Store>(sshStore), store, missing, NoRepair, NoCheckSigs, substitute);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -992,7 +992,6 @@ void LocalStore::addToStore(const ValidPathInfo & info, const ref<std::string> &
|
||||||
/* Lock the output path. But don't lock if we're being called
|
/* Lock the output path. But don't lock if we're being called
|
||||||
from a build hook (whose parent process already acquired a
|
from a build hook (whose parent process already acquired a
|
||||||
lock on this path). */
|
lock on this path). */
|
||||||
static auto locksHeld = tokenizeString<PathSet>(getEnv("NIX_HELD_LOCKS"));
|
|
||||||
if (!locksHeld.count(info.path))
|
if (!locksHeld.count(info.path))
|
||||||
outputLock.lockPaths({realPath});
|
outputLock.lockPaths({realPath});
|
||||||
|
|
||||||
|
|
|
@ -104,6 +104,9 @@ private:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
// Hack for build-remote.cc.
|
||||||
|
PathSet locksHeld = tokenizeString<PathSet>(getEnv("NIX_HELD_LOCKS"));
|
||||||
|
|
||||||
/* Initialise the local store, upgrading the schema if
|
/* Initialise the local store, upgrading the schema if
|
||||||
necessary. */
|
necessary. */
|
||||||
LocalStore(const Params & params);
|
LocalStore(const Params & params);
|
||||||
|
|
Loading…
Reference in a new issue