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()) {
 | 
			
		||||
            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);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
           from a build hook (whose parent process already acquired a
 | 
			
		||||
           lock on this path). */
 | 
			
		||||
        static auto locksHeld = tokenizeString<PathSet>(getEnv("NIX_HELD_LOCKS"));
 | 
			
		||||
        if (!locksHeld.count(info.path))
 | 
			
		||||
            outputLock.lockPaths({realPath});
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -104,6 +104,9 @@ private:
 | 
			
		|||
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
    // Hack for build-remote.cc.
 | 
			
		||||
    PathSet locksHeld = tokenizeString<PathSet>(getEnv("NIX_HELD_LOCKS"));
 | 
			
		||||
 | 
			
		||||
    /* Initialise the local store, upgrading the schema if
 | 
			
		||||
       necessary. */
 | 
			
		||||
    LocalStore(const Params & params);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue