code: def acquire(self):
          
          self.lock = retry_call(
              self._attempt,
              retries=float('inf'),
              trap=zc.lockfile.LockError,
              cleanup=functools.partial(self._check_timeout, timing.Stopwatch()),
          )
docs: Attempt to acquire the lock every `delay` seconds until the
          lock is acquired or until `timeout` has expired.
  
          Raises FileLockTimeout if the timeout is exceeded.
  
          Errors opening the lock file (other than if it exists) are
          passed through.