HEX
Server: Apache/2.4.65 (Unix) OpenSSL/1.1.1k
System: Linux vps109042.inmotionhosting.com 4.18.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
User: cisa (1010)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //opt/imh-python/lib/python3.9/asyncio/__pycache__/windows_events.cpython-39.opt-2.pyc
a

b�h���@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddl	mZddl	m
Z
ddl	mZddl	mZdd	l	mZdd
l	mZddlmZdZdZd
ZdZdZdZdZGdd�dej�ZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�de �Z!Gdd�dej"�Z#Gdd�dej$�Z%Gd d!�d!�Z&Gd"d#�d#ej'�Z(e#Z)Gd$d%�d%e
j*�Z+Gd&d'�d'e
j*�Z,e,Z-dS)(�N�)�events)�base_subprocess)�futures)�
exceptions)�proactor_events)�selector_events)�tasks)�
windows_utils)�logger)�SelectorEventLoop�ProactorEventLoop�IocpProactor�DefaultEventLoopPolicy�WindowsSelectorEventLoopPolicy�WindowsProactorEventLoopPolicy���i�i�g����MbP?g�������?cs\eZdZdd��fdd�
Z�fdd�Zdd�Zd�fd	d
�	Z�fdd�Z�fd
d�Z�Z	S)�_OverlappedFutureN��loopcs&t�j|d�|jr|jd=||_dS�Nr���)�super�__init__�_source_traceback�_ov)�self�ovr��	__class__��7/opt/imh-python/lib/python3.9/asyncio/windows_events.pyr1sz_OverlappedFuture.__init__csHt���}|jdurD|jjr dnd}|�dd|�d|jjd�d��|S)N�pendingZ	completedrzoverlapped=<z, �#x�>)r�
_repr_inforr"�insert�address�r�info�staterr r!r%7s


 z_OverlappedFuture._repr_infoc
Cst|jdurdSz|j��WnLtyh}z4d||d�}|jrH|j|d<|j�|�WYd}~n
d}~00d|_dS)Nz&Cancelling an overlapped future failed��message�	exception�future�source_traceback)r�cancel�OSErrorr�_loop�call_exception_handler)r�exc�contextr r r!�_cancel_overlapped>s
�
"z$_OverlappedFuture._cancel_overlappedcs|��t�j|d�S�N)�msg)r6rr0�rr8rr r!r0Nsz_OverlappedFuture.cancelcst��|�|��dS�N)r�
set_exceptionr6�rr-rr r!r;Rsz_OverlappedFuture.set_exceptioncst��|�d|_dSr:)r�
set_resultr�r�resultrr r!r=Vsz_OverlappedFuture.set_result)N)
�__name__�
__module__�__qualname__rr%r6r0r;r=�
__classcell__r r rr!r+srcsleZdZdd��fdd�
Zdd�Z�fdd�Zd	d
�Zdd�Zd�fd
d�	Z�fdd�Z	�fdd�Z
�ZS)�_BaseWaitHandleFutureNrcs8t�j|d�|jr|jd=||_||_||_d|_dS)NrrT)rrrr�_handle�_wait_handle�_registered)rr�handle�wait_handlerrr r!r^sz_BaseWaitHandleFuture.__init__cCst�|jd�tjkS�Nr)�_winapiZWaitForSingleObjectrEZ
WAIT_OBJECT_0�rr r r!�_pollls�z_BaseWaitHandleFuture._pollcsdt���}|�d|jd���|jdurB|��r4dnd}|�|�|jdur`|�d|jd���|S)Nzhandle=r#�signaledZwaitingzwait_handle=)rr%�appendrErMrFr(rr r!r%qs



z _BaseWaitHandleFuture._repr_infocCs
d|_dSr:)r�r�futr r r!�_unregister_wait_cb{sz)_BaseWaitHandleFuture._unregister_wait_cbc
Cs�|js
dSd|_|j}d|_zt�|�Wnfty�}zN|jtjkr|d||d�}|jrb|j|d<|j�	|�WYd}~dSWYd}~n
d}~00|�
d�dS�NFz$Failed to unregister the wait handler+r/)rGrF�_overlappedZUnregisterWaitr1�winerror�ERROR_IO_PENDINGrr2r3rR�rrIr4r5r r r!�_unregister_wait�s$�
$z&_BaseWaitHandleFuture._unregister_waitcs|��t�j|d�Sr7)rXrr0r9rr r!r0�sz_BaseWaitHandleFuture.cancelcs|��t��|�dSr:)rXrr;r<rr r!r;�sz#_BaseWaitHandleFuture.set_exceptioncs|��t��|�dSr:)rXrr=r>rr r!r=�sz _BaseWaitHandleFuture.set_result)N)r@rArBrrMr%rRrXr0r;r=rCr r rr!rD[s
rDcsBeZdZdd��fdd�
Zdd�Z�fdd�Z�fd	d
�Z�ZS)�_WaitCancelFutureNrcst�j||||d�d|_dS)Nr)rr�_done_callback)rr�eventrIrrr r!r�sz_WaitCancelFuture.__init__cCstd��dS)Nz'_WaitCancelFuture must not be cancelled)�RuntimeErrorrLr r r!r0�sz_WaitCancelFuture.cancelcs$t��|�|jdur |�|�dSr:)rr=rZr>rr r!r=�s
z_WaitCancelFuture.set_resultcs$t��|�|jdur |�|�dSr:)rr;rZr<rr r!r;�s
z_WaitCancelFuture.set_exception)r@rArBrr0r=r;rCr r rr!rY�srYcs6eZdZdd��fdd�
Z�fdd�Zdd�Z�ZS)	�_WaitHandleFutureNrcs<t�j||||d�||_d|_t�dddd�|_d|_dS)NrTF)rr�	_proactorZ_unregister_proactorrTZCreateEvent�_event�
_event_fut)rrrHrI�proactorrrr r!r�s
z_WaitHandleFuture.__init__csF|jdur"t�|j�d|_d|_|j�|j�d|_t��|�dSr:)	r_rK�CloseHandler`r^�_unregisterrrrRrPrr r!rR�s
	z%_WaitHandleFuture._unregister_wait_cbc
Cs�|js
dSd|_|j}d|_zt�||j�Wnfty�}zN|jtjkr�d||d�}|jrf|j|d<|j	�
|�WYd}~dSWYd}~n
d}~00|j�|j|j
�|_dSrS)rGrFrTZUnregisterWaitExr_r1rUrVrr2r3r^�_wait_cancelrRr`rWr r r!rX�s(�
$
�z"_WaitHandleFuture._unregister_wait)r@rArBrrRrXrCr r rr!r]�sr]c@s8eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZeZdS)�
PipeServercCs,||_t��|_d|_d|_|�d�|_dS�NT)�_address�weakref�WeakSet�_free_instances�_pipe�_accept_pipe_future�_server_pipe_handle)rr'r r r!r�s

zPipeServer.__init__cCs|j|�d�}|_|S�NF)rkrm)r�tmpr r r!�_get_unconnected_pipesz PipeServer._get_unconnected_pipec
Csr|��rdStjtjB}|r&|tjO}t�|j|tjtjBtj	Btj
tjtjtj
tj�}t�|�}|j�|�|Sr:)�closedrKZPIPE_ACCESS_DUPLEXZFILE_FLAG_OVERLAPPEDZFILE_FLAG_FIRST_PIPE_INSTANCEZCreateNamedPipergZPIPE_TYPE_MESSAGEZPIPE_READMODE_MESSAGEZ	PIPE_WAITZPIPE_UNLIMITED_INSTANCESr
�BUFSIZEZNMPWAIT_WAIT_FOREVER�NULL�
PipeHandlerj�add)r�first�flags�h�piper r r!rms"

��
zPipeServer._server_pipe_handlecCs
|jduSr:)rgrLr r r!rqszPipeServer.closedcCsR|jdur|j��d|_|jdurN|jD]}|��q*d|_d|_|j��dSr:)rlr0rgrj�closerk�clear)rryr r r!rzs




zPipeServer.closeN)	r@rArBrrprmrqrz�__del__r r r r!re�s
rec@seZdZdS)�_WindowsSelectorEventLoopN)r@rArBr r r r!r},sr}csDeZdZd�fdd�	Z�fdd�Zdd�Zdd	�Zd
d
d�Z�ZS)r
Ncs|durt�}t��|�dSr:)rrr)rrarr r!r3szProactorEventLoop.__init__c	s�zP|�|j�t���W|jdur�|jj}|j��|durJ|j�|�d|_n8|jdur�|jj}|j��|dur�|j�|�d|_0dSr:)	�	call_soonZ_loop_self_readingr�run_foreverZ_self_reading_futurerr0r^rc�rrrr r!r8s

�

zProactorEventLoop.run_foreverc�s8|j�|�}|IdH}|�}|j||d|id�}||fS)N�addr��extra)r^�connect_pipe�_make_duplex_pipe_transport)r�protocol_factoryr'�fry�protocol�transr r r!�create_pipe_connectionKs
�z(ProactorEventLoop.create_pipe_connectionc�s.t���d�����fdd�	������gS)Nc
sd}zn|rN|��}�j�|����r4|��WdS��}�j||d�id����}|durdWdS�j�|�}Wn�t	y�}zN|r�|�
�dkr���d||d��|��n�jr�t
jd|dd�WYd}~n8d}~0tjy�|r�|��Yn0|�_|���dS)	Nr�r�rzPipe accept failed)r,r-ryzAccept pipe failed on pipe %rT)�exc_info)r?rj�discardrqrzr�rpr^�accept_piper1�filenor3Z_debugr�warningr�CancelledErrorrl�add_done_callback)r�ryr�r4�r'�loop_accept_piper�rZserverr r!r�VsB
��
�z>ProactorEventLoop.start_serving_pipe.<locals>.loop_accept_pipe)N)rer~)rr�r'r r�r!�start_serving_pipeSs(
z$ProactorEventLoop.start_serving_pipec		�s�|��}
t||||||||f|
|d�|	��}z|
IdHWn@ttfyR�Yn*tyz|��|��IdH�Yn0|S)N)�waiterr�)�
create_future�_WindowsSubprocessTransport�
SystemExit�KeyboardInterrupt�
BaseExceptionrz�_wait)rr��args�shell�stdin�stdout�stderr�bufsizer��kwargsr�Ztranspr r r!�_make_subprocess_transport�s"
���z,ProactorEventLoop._make_subprocess_transport)N)N)	r@rArBrrr�r�r�rCr r rr!r
0s0�r
c@s�eZdZd:dd�Zdd�Zdd�Zdd	�Zd;dd�Zd
d�Zd<dd�Z	d=dd�Z
d>dd�Zd?dd�Zd@dd�Z
dd�Zdd�Zdd�Zd d!�Zd"d#�ZdAd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�ZdBd2d3�Zd4d5�Zd6d7�Zd8d9�Zd
S)CrrcCsDd|_g|_t�tjtd|�|_i|_t�	�|_
g|_t�	�|_dSrJ)
r2�_resultsrT�CreateIoCompletionPort�INVALID_HANDLE_VALUErs�_iocp�_cacherhrirG�
_unregistered�_stopped_serving)rZconcurrencyr r r!r�s
�
zIocpProactor.__init__cCs|jdurtd��dS)NzIocpProactor is closed)r�r\rLr r r!�
_check_closed�s
zIocpProactor._check_closedcCsFdt|j�dt|j�g}|jdur0|�d�d|jjd�|�fS)Nzoverlapped#=%sz
result#=%srqz<%s %s>� )�lenr�r�r�rOrr@�join)rr)r r r!�__repr__�s�

zIocpProactor.__repr__cCs
||_dSr:)r2)rrr r r!�set_loop�szIocpProactor.set_loopNcCs |js|�|�|j}g|_|Sr:)r�rM)r�timeoutror r r!�select�s

zIocpProactor.selectcCs|j��}|�|�|Sr:)r2r�r=)r�valuerQr r r!�_result�s

zIocpProactor._resultrcCs||�|�t�t�}z4t|tj�r6|�|��||�n|�|��|�Wnt	yd|�
d�YS0dd�}|�|||�S)N�c
SsTz
|��WStyN}z,|jtjtjfvr8t|j��n�WYd}~n
d}~00dSr:��	getresultr1rUrTZERROR_NETNAME_DELETEDZERROR_OPERATION_ABORTED�ConnectionResetErrorr��r��keyrr4r r r!�finish_recv�s
�z&IocpProactor.recv.<locals>.finish_recv)�_register_with_iocprT�
Overlappedrs�
isinstance�socketZWSARecvr�ZReadFile�BrokenPipeErrorr��	_register�r�conn�nbytesrwrr�r r r!�recv�s


zIocpProactor.recvcCs||�|�t�t�}z4t|tj�r6|�|��||�n|�|��|�Wnt	yd|�
d�YS0dd�}|�|||�S)Nrc
SsTz
|��WStyN}z,|jtjtjfvr8t|j��n�WYd}~n
d}~00dSr:r�r�r r r!r��s
�z+IocpProactor.recv_into.<locals>.finish_recv)r�rTr�rsr�r�ZWSARecvIntor�ZReadFileIntor�r�r�)rr��bufrwrr�r r r!�	recv_into�s


zIocpProactor.recv_intocCs^|�|�t�t�}z|�|��||�WntyF|�d�YS0dd�}|�|||�S)N)r�Nc
SsTz
|��WStyN}z,|jtjtjfvr8t|j��n�WYd}~n
d}~00dSr:r�r�r r r!r��s
�z*IocpProactor.recvfrom.<locals>.finish_recv)	r�rTr�rsZWSARecvFromr�r�r�r�r�r r r!�recvfrom�s


zIocpProactor.recvfromcCs>|�|�t�t�}|�|��|||�dd�}|�|||�S)Nc
SsTz
|��WStyN}z,|jtjtjfvr8t|j��n�WYd}~n
d}~00dSr:r�r�r r r!�finish_sends
�z(IocpProactor.sendto.<locals>.finish_send)r�rTr�rsZ	WSASendTor�r�)rr�r�rwr�rr�r r r!�sendto�s



zIocpProactor.sendtocCsZ|�|�t�t�}t|tj�r4|�|��||�n|�|��|�dd�}|�	|||�S)Nc
SsTz
|��WStyN}z,|jtjtjfvr8t|j��n�WYd}~n
d}~00dSr:r�r�r r r!r�s
�z&IocpProactor.send.<locals>.finish_send)
r�rTr�rsr�r�ZWSASendr�Z	WriteFiler�)rr�r�rwrr�r r r!�sends


zIocpProactor.sendcsv|���|��j��t�t�}|����������fdd�}dd�}|�|�|�}||��}t	j
||jd�|S)NcsD|��t�d����}��tjtj|���	��
������fS)Nz@P)r��struct�packr��
setsockoptr��
SOL_SOCKETrTZSO_UPDATE_ACCEPT_CONTEXT�
settimeout�
gettimeout�getpeername)r�r�rr��r��listenerr r!�
finish_accept*s�z*IocpProactor.accept.<locals>.finish_acceptc�s2z|IdHWntjy,|���Yn0dSr:)rr�rz)r.r�r r r!�accept_coro3s
z(IocpProactor.accept.<locals>.accept_coror)r��_get_accept_socket�familyrTr�rsZAcceptExr�r�r	Z
ensure_futurer2)rr�rr�r�r.�coror r�r!�accept$s

	
zIocpProactor.acceptc
s��jtjkr4t����|�|j��}|�d�|S|�	��zt�
����j�WnDty�}z,|j
tjkrr����ddkr��WYd}~n
d}~00t�t�}|����|��fdd�}|�|�|�S)Nrrcs|����tjtjd��SrJ)r�r�r�r�rTZSO_UPDATE_CONNECT_CONTEXT�r�r�r�r�r r!�finish_connectVs
�z,IocpProactor.connect.<locals>.finish_connect)�typer��
SOCK_DGRAMrTZ
WSAConnectr�r2r�r=r�Z	BindLocalr�r1rU�errnoZ	WSAEINVAL�getsocknamer�rsZ	ConnectExr�)rr�r'rQ�err�r r�r!�connect@s"



zIocpProactor.connectc		Csb|�|�t�t�}|d@}|d?d@}|�|��t�|���|||dd�dd�}|�|||�S)Nr� rc
SsTz
|��WStyN}z,|jtjtjfvr8t|j��n�WYd}~n
d}~00dSr:r�r�r r r!�finish_sendfileis
�z.IocpProactor.sendfile.<locals>.finish_sendfile)	r�rTr�rsZTransmitFiler��msvcrtZ
get_osfhandler�)	r�sock�file�offset�countrZ
offset_lowZoffset_highr�r r r!�sendfile_s


�	zIocpProactor.sendfilecsJ|���t�t�}|�����}|r0|���S�fdd�}|�|�|�S)Ncs|���Sr:)r�r��ryr r!�finish_accept_pipesz4IocpProactor.accept_pipe.<locals>.finish_accept_pipe)r�rTr�rsZConnectNamedPiper�r�r�)rryrZ	connectedr�r r�r!r�ts


zIocpProactor.accept_pipec
�stt}zt�|�}WqjWn2tyH}z|jtjkr4�WYd}~n
d}~00t|dt�}t�	|�IdHqt
�|�S)N�)�CONNECT_PIPE_INIT_DELAYrTZConnectPiper1rUZERROR_PIPE_BUSY�min�CONNECT_PIPE_MAX_DELAYr	�sleepr
rt)rr'�delayrHr4r r r!r��s
zIocpProactor.connect_pipecCs|�||d�Srn)�_wait_for_handle)rrHr�r r r!�wait_for_handle�szIocpProactor.wait_for_handlecCs|�|dd�}||_|Srf)r�rZ)rr[Z
done_callbackrQr r r!rd�szIocpProactor._wait_cancelcs�|��|durtj}nt�|d�}t�t�}t�||j	|j
|�}|r\t||||jd��nt
|||||jd���jr~�jd=�fdd�}�|d|f|j|j
<�S)N�@�@rrcs���Sr:)rMr��r�r r!�finish_wait_for_handle�sz=IocpProactor._wait_for_handle.<locals>.finish_wait_for_handler)r�rK�INFINITE�math�ceilrTr�rsZRegisterWaitWithQueuer�r'rYr2r]rr�)rrHr�Z
_is_cancel�msrrIr�r r�r!r��s$
�
�	zIocpProactor._wait_for_handlecCs0||jvr,|j�|�t�|��|jdd�dSrJ)rGrurTr�r�r��r�objr r r!r��s
z IocpProactor._register_with_iocpc
Cs�|��t||jd�}|jr$|jd=|jstz|dd|�}Wn.tyh}z|�|�WYd}~nd}~00|�|�||||f|j|j	<|Sr)
r�rr2rr"r1r;r=r�r')rrr��callbackr�r�r�r r r!r��s 

zIocpProactor._registercCs|��|j�|�dSr:)r�r�rOr�r r r!rc�szIocpProactor._unregistercCst�|�}|�d�|SrJ)r�r�)rr��sr r r!r��s

zIocpProactor._get_accept_socketcCs�|durt}n0|dkr td��nt�|d�}|tkr>td��t�|j|�}|durX�qZd}|\}}}}z|j�|�\}}	}
}WnVt	y�|j
��r�|j
�dd||||fd��|dtj
fvr�t�|�Yq>Yn0|
|jvr�|��q>|��s>z||||	�}Wn<t�y@}
z"|�|
�|j�|�WYd}
~
q>d}
~
00|�|�|j�|�q>|jD]}	|j�|	jd��q`|j��dS)Nrznegative timeoutr�ztimeout too bigz8GetQueuedCompletionStatus() returned an unexpected eventz)err=%s transferred=%s key=%#x address=%#x)r,�status)r��
ValueErrorr�r�rTZGetQueuedCompletionStatusr�r��pop�KeyErrorr2Z	get_debugr3r�rKrbr�r0�doner1r;r�rOr=r�r'r{)rr�r�r�errZtransferredr�r'r�rr�r�r�r�r r r!rMsL


��	




"

zIocpProactor._pollcCs|j�|�dSr:)r�rur�r r r!�
_stop_serving9szIocpProactor._stop_servingcCs|jdurdSt|j���D]�\}\}}}}|��r6qt|t�rBqz|��Wqty�}z>|j	dur�d||d�}|j
r�|j
|d<|j	�|�WYd}~qd}~00qd}t�
�}	|	|}
|jr�|
t�
�kr�t�d|t�
�|	�t�
�|}
|�|�q�g|_t�|j�d|_dS)NzCancelling a future failedr+r/g�?z,%r is running after closing for %.1f seconds)r��listr��items�	cancelledr�rYr0r1r2rr3�time�	monotonicr�debugrMr�rKrb)rr'rQrr�r�r4r5Z
msg_updateZ
start_timeZnext_msgr r r!rz?s>


�
$�zIocpProactor.closecCs|��dSr:)rzrLr r r!r|nszIocpProactor.__del__)r)N)r)r)r)rN)r)N)N)r@rArBrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rdr�r�r�rcr�rMrrzr|r r r r!r�s6








"
 

7/rc@seZdZdd�ZdS)r�c
sPtj|f|||||d�|���_�fdd�}�jj�t�jj��}	|	�|�dS)N)r�r�r�r�r�cs�j��}��|�dSr:)�_proc�pollZ_process_exited)r��
returncoderLr r!r�ys
z4_WindowsSubprocessTransport._start.<locals>.callback)	r
�Popenrr2r^r��intrEr�)
rr�r�r�r�r�r�r�r�r�r rLr!�_startts���z"_WindowsSubprocessTransport._startN)r@rArBrr r r r!r�rsr�c@seZdZeZdS)rN)r@rArBr�
_loop_factoryr r r r!r�src@seZdZeZdS)rN)r@rArBr
rr r r r!r�sr).rTrKr�r�r�r�r�rrh�rrrrrrr	r
�logr�__all__rsr�ZERROR_CONNECTION_REFUSEDZERROR_CONNECTION_ABORTEDr�r��FuturerrDrYr]�objectreZBaseSelectorEventLoopr}ZBaseProactorEventLoopr
rZBaseSubprocessTransportr�rZBaseDefaultEventLoopPolicyrrrr r r r!�<module>sP0J4;e`