* Revert r19797, and use a simpler solution: just don't monitor build
hooks for silence. It's unnecessary because the remote nix-store command is already monitoring the real build.
This commit is contained in:
		
							parent
							
								
									f859a8d3c3
								
							
						
					
					
						commit
						4e17be7981
					
				
					 4 changed files with 21 additions and 37 deletions
				
			
		| 
						 | 
				
			
			@ -37,8 +37,7 @@ void deleteLockFile(const Path & path, int fd)
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool lockFile(int fd, LockType lockType, bool wait,
 | 
			
		||||
    unsigned int progressInterval)
 | 
			
		||||
bool lockFile(int fd, LockType lockType, bool wait)
 | 
			
		||||
{
 | 
			
		||||
    struct flock lock;
 | 
			
		||||
    if (lockType == ltRead) lock.l_type = F_RDLCK;
 | 
			
		||||
| 
						 | 
				
			
			@ -50,20 +49,11 @@ bool lockFile(int fd, LockType lockType, bool wait,
 | 
			
		|||
    lock.l_len = 0; /* entire file */
 | 
			
		||||
 | 
			
		||||
    if (wait) {
 | 
			
		||||
        /* Wait until we acquire the lock.  If `progressInterval' is
 | 
			
		||||
           non-zero, when print a message every `progressInterval'
 | 
			
		||||
           seconds.  This is mostly to make sure that remote builders
 | 
			
		||||
           aren't killed due to the `max-silent-time' inactivity
 | 
			
		||||
           monitor while waiting for the garbage collector lock. */
 | 
			
		||||
        while (1) {
 | 
			
		||||
            if (progressInterval) alarm(progressInterval);
 | 
			
		||||
            if (fcntl(fd, F_SETLKW, &lock) == 0) break;
 | 
			
		||||
        while (fcntl(fd, F_SETLKW, &lock) != 0) {
 | 
			
		||||
            checkInterrupt();
 | 
			
		||||
            if (errno != EINTR)
 | 
			
		||||
                throw SysError(format("acquiring/releasing lock"));
 | 
			
		||||
            if (progressInterval) printMsg(lvlError, "still waiting for lock...");
 | 
			
		||||
        }
 | 
			
		||||
        alarm(0);
 | 
			
		||||
    } else {
 | 
			
		||||
        while (fcntl(fd, F_SETLK, &lock) != 0) {
 | 
			
		||||
            checkInterrupt();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue