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)
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)