File: //lib/python3/dist-packages/sphinx/util/__pycache__/parallel.cpython-310.pyc
o
�$�a �
@ s d Z ddlZddlZddlZddlZddlZddlmZ ddlm Z m
Z
mZmZm
Z
mZ zddlZW n ey= dZY nw ddlmZ ddlmZ e�e�Zeoaejdkoaejdko`e�� d k ZG d
d� d�ZG dd
� d
�Zddee dededee fdd�Z dS )z�
sphinx.util.parallel
~~~~~~~~~~~~~~~~~~~~
Parallel building utilities.
:copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
� N)�sqrt)�Any�Callable�Dict�List�Optional�Sequence)�SphinxParallelError)�logging�posix)� � �Darwinc @ sJ e Zd ZdZddeddfdd�Zdded ed
eddfdd�Zdd
d�Z dS )�SerialTaskszEHas the same interface as ParallelTasks, but executes tasks directly.� �nproc�returnNc C � d S �N� ��selfr r r �6/usr/lib/python3/dist-packages/sphinx/util/parallel.py�__init__* � zSerialTasks.__init__� task_func�arg�result_funcc C s, |d ur ||�}n|� }|r||� d S d S r r )r r r r �resr r r �add_task- s
�zSerialTasks.add_taskc C r r r �r r r r �join5 r zSerialTasks.join�r �NN�r N)
�__name__�
__module__�__qualname__�__doc__�intr r r r r! r r r r r '