"certbot.lock"
**************

Implements file locks for locking files and directories in UNIX.

certbot.lock.lock_dir(dir_path)

   Place a lock file on the directory at dir_path.

   The lock file is placed in the root of dir_path with the name
   .certbot.lock.

   Parameters:
      **dir_path** (*str*) – path to directory

   Returns:
      the locked LockFile object

   Return type:
      LockFile

   Raises:
      **errors.LockError** – if unable to acquire the lock

class certbot.lock.LockFile(path)

   Bases: "object"

   A UNIX lock file.

   This lock file is released when the locked file is closed or the
   process exits. It cannot be used to provide synchronization between
   threads. It is based on the lock_file package by Martin Horcicka.

   acquire()

      Acquire the lock file.

      Raises:
         * **errors.LockError** – if lock is already held

         * **OSError** – if unable to open or stat the lock file

   _try_lock(fd)

      Try to acquire the lock file without blocking.

      Parameters:
         **fd** (*int*) – file descriptor of the opened file to lock

   _lock_success(fd)

      Did we successfully grab the lock?

      Because this class deletes the locked file when the lock is
      released, it is possible another process removed and recreated
      the file between us opening the file and acquiring the lock.

      Parameters:
         **fd** (*int*) – file descriptor of the opened file to lock

      Returns:
         True if the lock was successfully acquired

      Return type:
         bool

   release()

      Remove, close, and release the lock file.
