Example #1
0
def lock_file(file_descriptor: IO[bytes], logger: Logger = _default_logger):
    """Lock file in context manager.

    :param file_descriptor: file descriptio of file to lock.
    """
    with exception_log_and_reraise(
        logger.error, f"Couldn't acquire lock for file {file_descriptor.name}: {{}}",
    ):
        file_lock.lock(file_descriptor, file_lock.LOCK_EX)

    try:
        yield
    finally:
        file_lock.unlock(file_descriptor)
Example #2
0
def lock_file(file_descriptor: IO[bytes]):
    """Lock file in context manager.

    :param file_descriptor: file descriptio of file to lock.
    """
    try:
        file_lock.lock(file_descriptor, file_lock.LOCK_EX)
    except OSError as e:
        logger.error(
            "Couldn't acquire lock for file {}: {}".format(file_descriptor.name, e)
        )
        raise e
    try:
        yield
    finally:
        file_lock.unlock(file_descriptor)