o
ai @ s d dl Z d dlZd dlZd dlmZ zd dlmZ W n ey) d dlmZ Y nw g dZG dd de Z
ejdkr@d d
Zndd
Zdd
dZ
dddZdd Zdd Zdd adddZdddZdS ) N)partial) monotonic)time)NoWayToWaitForSocketError
wait_for_readwait_for_writec @ s e Zd ZdS )r N)__name__
__module____qualname__ r r /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_vendor/urllib3/util/wait.pyr s r ) c C s | |S Nr )fntimeoutr r r _retry_on_intr* r c
C s |d u r t d}nt | } z| |W S ttjfyE } z"|jd tjkr( |t }|dk r3d}|t dkr;d }W Y d }~qd }~ww )NinfTr )floatr OSErrorselecterrorargserrnoZEINTR)r r deadlineer r r r 0 s"
Fc
C sd |s|st dg }g }|r|| |r|| ttj|||}t||\}}} t|p0|p0| S )N2must specify at least one of read=True, write=True)RuntimeErrorappendr r r bool)
sockreadwriter rcheckwcheckr rreadywreadyxreadyr r r select_wait_for_socketG s
r) c s^ |s|st dd}|r|tjO }|r|tjO }t | | fdd}tt||S )Nr r c s | d ur| d9 } | S )Ni )poll)tpoll_objr r do_pollf s
z%poll_wait_for_socket.