� ��^i����ddlZddlZddlZddlmZ ddlmZn#e$r ddlmZYnwxYwgd�ZGd�de ��Z ej dkrd �Z nd �Z dd �Z dd �Zd�Zd�Zd�add�Zdd�ZdS)�N)�partial)� monotonic)�time)�NoWayToWaitForSocketError� wait_for_read�wait_for_writec��eZdZdS)rN)�__name__� __module__� __qualname__����/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-4.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_vendor/urllib3/util/wait.pyrrs�������Drr)��c��||��S�Nr )�fn�timeouts r�_retry_on_intrr*s���r�'�{�{�rc�<�|�td��}nt��|z} ||��S#ttjf$rT}|jdt jkr�|t��z }|dkrd}|td��krd}Yd}~�rd}~wwxYw)N�infTr)�floatr�OSError�select�error�args�errno�EINTR)rr�deadline�es rrr0s��� �?��U�|�|�H�H� �{�{�W�,�H� � ��r�'�{�{�"���V�\�*� � � ��6�!�9�� �+�+��&����4�G���{�{�"#���%��,�,�.�.�"&���H�H�H�H����� ���s� 1�B�A B�BFc��|s|std���g}g}|r|�|��|r|�|��ttj|||��}t ||��\}}} t |p|p| ��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/Gs��� �Q��Q��O�P�P�P� �F� �F� ��� � �d���� ��� � �d���� ������ 7� 7�B�+�B��8�8��F�F�F� ��*�&�*�F� +� +�+rc���|s|std���d}|r|tjz}|r|tjz}tj�����||���fd�}t t||����S)Nr#rc�<��|�|dz}��|��S)Ni�)�poll)�t�poll_objs �r�do_pollz%poll_wait_for_socket..do_pollfs#��� �=� ��I�A��}�}�Q���r)r$r�POLLIN�POLLOUTr2�registerr&r)r'r(r)r�maskr5r4s @r�poll_wait_for_socketr:Zs���� �Q��Q��O�P�P�P� �D� �� �� ��� �� ������{�}�}�H� ���d�D�!�!�!� � � � � � ��w��0�0� 1� 1�1rc� �td���)Nzno select-equivalent available)r�r�kwargss r�null_wait_for_socketr>ns�� #�$D� E� E�Erc�� tj��}t|jd��dS#ttf$rYdSwxYw)NrTF)rr2r�AttributeErrorr)r4s r�_have_working_pollrArsT����;�=�=���x�}�a�(�(�(��t�� �G� $�����u�u����s�(,�A�Ac��t��rtan$ttd��rt ant at|i|��S)Nr)rAr:�wait_for_socket�hasattrrr/r>r<s rrCrCsJ�� ���/�.��� ��� "� "�/�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� <� <� <�rArCrrr rr�rOst�� � � � � � � � � � � � �������'����������'�'�'�&�&�&�&�&�&�&�&�'���� K� J� J�� � � � � � � � � �4��v������� ���.,�,�,�,�&2�2�2�2�(F�F�F� � � � ,� ,� ,�=�=�=�=�>�>�>�>�>�>s �� )�)