JFIF$        dd7 

Viewing File: /usr/lib64/python3.9/multiprocessing/__pycache__/reduction.cpython-39.opt-2.pyc

a

�i(%�@sddlmZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
gd�Zejdkp�e
ed�o�e
ed�o�e
ejd	�ZGd
d�dej�ZejZd8dd
�Zejdk�r�egd�7ZddlZd9dd�dd�Zdd�Zdd�Zdd�ZGdd�de�ZnFegd�7ZddlZejdkZdd�Zdd �Zd!d�Zd"d�Zd#d$�Zd%d&�ZGd'd(�d(�Z ee!e �j"�e�d)d*�Z#ee!e$j%�e#�ee!e&j'�e#�d+d,�Z(d-d.�Z)eej*e(�ejdk�r�d/d0�Z+d1d2�Z,eeje+�nd3d0�Z+d4d2�Z,eeje+�Gd5d6�d6ed7�Z-dS):�)�ABCMetaN�)�context)�send_handle�recv_handle�ForkingPickler�register�dump�win32�CMSG_LEN�
SCM_RIGHTS�sendmsgcsFeZdZiZejZ�fdd�Zedd��Z	eddd��Z
ejZ�Z
S)	rcs*t�j|�|j��|_|j�|j�dS�N)�super�__init__�_copyreg_dispatch_table�copy�dispatch_table�update�_extra_reducers��self�args��	__class__��1/usr/lib64/python3.9/multiprocessing/reduction.pyr&szForkingPickler.__init__cCs||j|<dSr)r)�cls�type�reducerrrr+szForkingPickler.registerNcCs t��}|||��|�|��Sr)�io�BytesIOr	�	getbuffer)r�obj�protocol�bufrrr�dumps0szForkingPickler.dumps)N)�__name__�
__module__�__qualname__r�copyregrrr�classmethodrr&�pickle�loads�
__classcell__rrrrr!s
rcCst||��|�dSr)rr	)r#�filer$rrrr	:sr	)�	DupHandle�	duplicate�steal_handleF)�source_processcCs6t��}|dur|}|dur |}t�|||d|tj�S)Nr)�_winapi�GetCurrentProcess�DuplicateHandle�DUPLICATE_SAME_ACCESS)�handleZtarget_process�inheritabler3�current_processrrrr1Gs�r1c	CsNt�tjd|�}z,t�||t��ddtjtjB�Wt�|�St�|�0dS�NFr)r4�OpenProcess�PROCESS_DUP_HANDLEr6r5r7�DUPLICATE_CLOSE_SOURCE�CloseHandle)Z
source_pidr8Zsource_process_handlerrrr2Ss�

�
�r2cCst|tj|�}|�|�dSr)r0r4r7�send)�connr8�destination_pidZdhrrrr_srcCs|����Sr)�recv�detach)rArrrrdsrc@seZdZddd�Zdd�ZdS)r0Nc	Csf|durt��}t�tjd|�}z(t�t��|||dd�|_Wt�|�nt�|�0||_	||_
dSr;)�os�getpidr4r<r=r6r5�_handler?�_access�_pid)rr8�access�pid�procrrrrjs
�zDupHandle.__init__c	Csb|jt��kr|jSt�tjd|j�}z*t�||jt��|j	dtj
�Wt�|�St�|�0dS)NF)rIrErFrGr4r<r=r6r5rHr>r?)rrLrrrrDys
�
�
�zDupHandle.detach)N)r'r(r)rrDrrrrr0hs
r0)�DupFd�sendfds�recvfds�darwincCsVt�d|�}tt|�dg�}|�|gtjtj|fg�trR|�d�dkrRt	d��dS)N�i�r�Az%did not receive acknowledgement of fd)
�array�bytes�lenr
�socket�
SOL_SOCKETr�ACKNOWLEDGErC�RuntimeError)�sock�fds�msgrrrrN�s
rNc	Cst�d�}|j|}|�dt�|��\}}}}|s:|s:t�z�trJ|�d�t|�dkrft	dt|���|d\}}	}
|tj
kr�|	tjkr�t|
�|jdkr�t�|�
|
�t|�d|dkr�td�t|�|d���t|�WSWnttfy�Yn0t	d��dS)	NrQrrSzreceived %d items of ancdatarrRz Len is {0:n} but msg[0] is {1!r}zInvalid data received)rT�itemsize�recvmsgrW�
CMSG_SPACE�EOFErrorrYr@rVrZrXr�
ValueError�	frombytes�AssertionError�format�list�
IndexError)r[�size�a�
bytes_sizer]�ancdata�flags�addr�
cmsg_level�	cmsg_type�	cmsg_datarrrrO�s:


�
�
��rOcCsFt�|��tjtj��}t||g�Wd�n1s80YdSr)rW�fromfd�fileno�AF_UNIX�SOCK_STREAMrN)rAr8rB�srrrr�scCsHt�|��tjtj��}t|d�dWd�S1s:0YdS)Nrr)rWrqrrrsrtrO)rArurrrr�scCsFt��}|dur |�|�|��Str:ddlm}|�|�Std��dS)Nr)�resource_sharerz&SCM_RIGHTS appears not to be available)r�get_spawning_popenrM�duplicate_for_child�HAVE_SEND_HANDLE�rvrb)�fd�	popen_objrvrrrrM�s
rMcCs2|jdurt|j|jjffSt|j|jjffSdSr)�__self__�getattrr�__func__r'��mrrr�_reduce_method�s
r�c@seZdZdd�ZdS)�_CcCsdSrr)rrrr�f�sz_C.fN)r'r(r)r�rrrrr��sr�cCst|j|jffSr)r~�__objclass__r'r�rrr�_reduce_method_descriptor�sr�cCst|j|j|jpiffSr)�_rebuild_partial�funcr�keywords)�prrr�_reduce_partial�sr�cCstj|g|�Ri|��Sr)�	functools�partial)r�rr�rrrr��sr�cCsddlm}t||�ffS)Nr)�	DupSocket)rvr��_rebuild_socket)rur�rrr�_reduce_socket�sr�cCs|��Sr)rD)Zdsrrrr��sr�cCs"t|���}t||j|j|jffSr)rMrrr��familyr�proto)ru�dfrrrr��scCs|��}tj||||d�S)N)rr)rDrW)r�r�rr�r{rrrr��sc@s`eZdZeZeZeZeZeZej	dkr4e
Z
eZeZne
Z
eZeZeZeZeZeZeZdd�ZdS)�AbstractReducerr
cGsNttt�j�t�tttj�t�tttj	�t�tt
jt�tt
j
t�dSr)rrr�r�r�rf�appendr��int�__add__r�r�r�rWr�rrrrrs
zAbstractReducer.__init__N)r'r(r)rrr	rr�sys�platformr2r1r0rNrOrMr�r�r�r�r�rrrrrr��s$
r�)�	metaclass)N)NF).�abcrr*r�r rEr,rWr�rzr�__all__r��hasattrry�Picklerrrr	r4r1r2rr�objectr0rTrYrNrOrMr�r�rr�r�rfr�r�r�r�r�r�r�r�r�rrrr�<module>
sj

�
�	
�#

Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg