관리-도구
편집 파일: wait.cpython-39.pyc
a ����[��f����������������������@���s����d�dl�Z�d�dlZd�dlZd�dlmZ�zd�dlmZ�W�n�eyR���d�dlmZ�Y�n0�g�d�ZG�dd��de �Z ejdkr�d d ��Zndd ��Zdd d�Z ddd�Zdd��Zdd��Zdd��addd�Zddd�ZdS�)�����N)�partial)� monotonic)�time)�NoWayToWaitForSocketError� wait_for_read�wait_for_writec�������������������@���s���e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��r���r����A/usr/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.pyr������s���r���)��������c�����������������C���s���|�|�S�)Nr���)�fn�timeoutr���r���r����_retry_on_intr*���s����r���c�������������� ���C���s����|d�u�rt�d�}n t��|�}z |�|�W�S��ttjfy��}�zR|jd�tjkrP��n2|t���}|dk�rfd}|t�d�krvd�}W�Y�d�}~qW�Y�d�}~qd�}~0�0�qd�S�)N�infr���)�floatr����OSError�select�error�args�errnoZEINTR)r���r���Zdeadline�er���r���r���r���0���s���� Fc����������� ������C���sd���|s|st�d��g�}g�}|r&|�|���|r4|�|���ttj|||�}t||�\}}} t|p`|p`| �S�)N�2must specify at least one of read=True, write=True)�RuntimeError�appendr���r���r����bool) �sock�read�writer���ZrcheckZwcheckr���ZrreadyZwreadyZxreadyr���r���r����select_wait_for_socketG���s���� r!���c��������������������s^���|s|st�d��d}|r"|tjO�}|r0|tjO�}t��������|�|����fdd�}tt||��S�)Nr���r���c��������������������s���|�d�ur|�d9�}�����|��S�)Ni���)�poll)�t�Zpoll_objr���r����do_pollf���s����z%poll_wait_for_socket.<locals>.do_poll)r���r���ZPOLLINZPOLLOUTr"����registerr���r���)r���r���r ���r����maskr%���r���r$���r����poll_wait_for_socketZ���s���� r(���c������������������O���s���t�d��d�S�)Nzno select-equivalent available)r����r����kwargsr���r���r����null_wait_for_socketn���s����r+���c��������������� ���C���s:���zt����}�t|�jd��W�n�ttfy0���Y�dS�0�dS�d�S�)Nr���FT)r���r"���r����AttributeErrorr���r$���r���r���r����_have_working_pollr���s����r-���c������������������O���s.���t���rtanttd�rtantat|�i�|��S�)Nr���)r-���r(����wait_for_socket�hasattrr���r!���r+���r)���r���r���r���r.������s���� r.���c�����������������C���s���t�|�d|d�S�)z�Waits for reading to be available on a given socket. Returns True if the socket is readable, or False if the timeout expired. T)r���r����r.����r���r���r���r���r���r�������s����r���c�����������������C���s���t�|�d|d�S�)z�Waits for writing to be available on a given socket. Returns True if the socket is readable, or False if the timeout expired. T)r ���r���r0���r1���r���r���r���r�������s����r���)FFN)FFN)N)N)r���r����sys� functoolsr���r���r����ImportError�__all__� Exceptionr����version_infor���r!���r(���r+���r-���r.���r���r���r���r���r���r����<module>���s&���