Current File : //usr/lib/python3/dist-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc
�

/�g����ddlZddlZddlZddlmZ	ddlmZgd�ZGd�de	�Z
ejdk\rd	�Znd
�Zdd�Z
dd�Zd
�Zd�Zd�add�Zdd�Zy#e$r	ddlmZY�LwxYw)�N)�partial)�	monotonic)�time)�NoWayToWaitForSocketError�
wait_for_read�wait_for_writec��eZdZy)rN)�__name__�
__module__�__qualname__���?/usr/lib/python3/dist-packages/pip/_vendor/urllib3/util/wait.pyrrs��rr)��c��||�S�Nr
)�fn�timeouts  r�_retry_on_intrr*s���'�{�rc�"�|�td�}n
t�|z}		||�S#ttjf$rO}|j
dtjk7r�|t�z
}|dkrd}|td�k(rd}Yd}~�md}~wwxYw)N�infr)�floatr�OSError�select�error�args�errno�EINTR)rr�deadline�es    rrr/s����?��U�|�H� �{�W�,�H��

��'�{�"���V�\�\�*�

��6�6�!�9����+��&���4�G���{�"#���%��,�.�"&����

�s�&�B�AB	�	Bc���|s
|std��g}g}|r|j|�|r|j|�ttj|||�}t	||�\}}}	t|xs|xs|	�S)N�2must specify at least one of read=True, write=True)�RuntimeError�appendrrr�bool)
�sock�read�writer�rcheck�wcheckr�rready�wready�xreadys
          r�select_wait_for_socketr/Fsy�����O�P�P�
�F�
�F���
�
�d����
�
�d��
�������	7�B�+�B��8��F�F�F���*�&�*�F�+�+rc���|s
|std��d}|r|tjz}|r|tjz}tj���j||��fd�}t
t||��S)Nr#rc�4��|�|dz}�j|�S)Ni�)�poll)�t�poll_objs �r�do_pollz%poll_wait_for_socket.<locals>.do_polles ����=�
��I�A��}�}�Q��r)r$r�POLLIN�POLLOUTr2�registerr&r)r'r(r)r�maskr5r4s      @r�poll_wait_for_socketr:Yso������O�P�P��D����
�
�����������{�{�}�H����d�D�!� �
��w��0�1�1rc��td��)Nzno select-equivalent available)r�r�kwargss  r�null_wait_for_socketr>ms��
#�$D�
E�Erc��	tj�}t|jd�y#ttf$rYywxYw)NrTF)rr2r�AttributeErrorr)r4s r�_have_working_pollrAqs>����;�;�=���x�}�}�a�(���
�G�$����s�*-�?�?c�t�t�rtanttd�rt
antat|i|��S)Nr)rAr:�wait_for_socket�hasattrrr/r>r<s  rrCrC~s3����.��	���	"�0��.���D�+�F�+�+rc��t|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�rC�r'rs  rrr�s���4�d�G�<�<rc��t|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)rrFrGs  rrr�s���4�t�W�=�=r)FFNr)rr�sys�	functoolsrrr�ImportError�__all__�	Exceptionr�version_inforr/r:r>rArCrrr
rr�<module>rOs����
�
��'��K��	�	�	�4���v���
�.,�&2�(F�
�,�=�>��Y�'�&�'�s�A�A'�&A'