If the timeout is disabled the file has always changed? Shouldn't this be that if the timeout is disabled then we always check whether the file has changed?