OwlCyberSecurity - MANAGER
Edit File: parallel.cpython-310.pyc
o ����ƚRe|������������������� ���@���sv��d�Z�ddgZddlmZ�ddlmZ�ddlmZ�ddlmZ �ddl mZmZm Z mZmZ�ddlmZ�eejej f�Zed �Zed �ZzddlZW�n�eyS���dZY�nw�d ZdZedede e�fdd��Z ddeegef�dee�dede e�fdd�Z ddeegef�dee�dede e�fdd�Z ddeegef�dee�dede e�fdd�Zer�e�ZZdS�eZeZdS�)ab��Convenient parallelization of higher order functions. This module provides two helper functions, with appropriate fallbacks on Python 2 and on systems lacking support for synchronization mechanisms: - map_multiprocess - map_multithread These helpers work like Python 3's map, with two differences: - They don't guarantee the order of processing of the elements of the iterable. - The underlying process/thread pools chop the iterable into a number of chunks, so that for very long iterables using a large value for chunksize can make the job complete much faster than using the default value of 1. �map_multiprocess�map_multithread�����)�contextmanager)�Pool��pool)�Callable�Iterable�Iterator�TypeVar�Union)�DEFAULT_POOLSIZE�S�TNTFi���r����returnc�����������������c���sB�����z|�V��W�|������|�����|�����dS�|������|�����|�����w�)z>Return a context manager making sure the pool closes properly.N)�close�join� terminater�����r�����/builddir/build/BUILDROOT/alt-python310-pip-21.3.1-3.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/utils/parallel.py�closing.���s����� r��������func�iterable� chunksizec�����������������C���s ���t�|�|�S�)z�Make an iterator applying func to each element in iterable. This function is the sequential fallback either on Python 2 where Pool.imap* doesn't react to KeyboardInterrupt or when sem_open is unavailable. )�map)r���r���r���r���r���r���� _map_fallback;���s��� r���c�����������������C���s<���t�t����}|�|�||�W��d����S�1�sw���Y��dS�)z�Chop iterable into chunks and submit them to a process pool. For very long iterables using a large value for chunksize can make the job complete much faster than using the default value of 1. Return an unordered iterator of the results. N)r����ProcessPool�imap_unordered�r���r���r���r���r���r���r����_map_multiprocessG���s��� $�r ���c�����������������C���s>���t�tt���}|�|�||�W��d����S�1�sw���Y��dS�)z�Chop iterable into chunks and submit them to a thread pool. For very long iterables using a large value for chunksize can make the job complete much faster than using the default value of 1. Return an unordered iterator of the results. N)r���� ThreadPoolr ���r���r���r���r���r����_map_multithreadU���s��� $�r"���)r���)�__doc__�__all__� contextlibr����multiprocessingr���r���r���Zmultiprocessing.dummyr!����typingr���r ���r ���r���r���Zpip._vendor.requests.adaptersr ���r���r���Zmultiprocessing.synchronize�ImportErrorZ LACK_SEM_OPEN�TIMEOUTr����intr���r ���r"���r���r���r���r���r���r����<module>���sl����� ���� � ���� ����� �