File "reduction.cpython-39.pyc"

Full Path: /home/attunedd/public_html/byp/izo/con7ext_sym404/rintoar.txt/opt/alt/python39/lib64/python3.9/multiprocessing/__pycache__/reduction.cpython-39.pyc
File size: 8.1 KB
MIME-type: text/x-bytecode.python
Charset: 8 bit

a

XC?h(%@sddlmZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
gdZejdkpe
edoe
edoe
ejd	ZGd
ddejZejZd8dd
Zejdkregd7ZddlZd9ddddZddZddZddZGdddeZnFegd7ZddlZejdkZddZdd Zd!dZd"dZd#d$Zd%d&ZGd'd(d(Z ee!e j"ed)d*Z#ee!e$j%e#ee!e&j'e#d+d,Z(d-d.Z)eej*e(ejdkrd/d0Z+d1d2Z,eeje+nd3d0Z+d4d2Z,eeje+Gd5d6d6ed7Z-dS):)ABCMetaN)context)send_handlerecv_handleForkingPicklerregisterdumpwin32ZCMSG_LEN
SCM_RIGHTSsendmsgcsJeZdZdZiZejZfddZe	ddZ
e	d	ddZej
Z
ZS)
rz)Pickler subclass used by multiprocessing.cs*tj||j|_|j|jdSN)super__init___copyreg_dispatch_tablecopydispatch_tableupdate_extra_reducersselfargs	__class__>/opt/alt/python39/lib64/python3.9/multiprocessing/reduction.pyr&szForkingPickler.__init__cCs||j|<dS)z&Register a reduce function for a type.N)r)clstypereducerrrr+szForkingPickler.registerNcCs t}|||||Sr
)ioBytesIOr		getbuffer)robjprotocolZbufrrrdumps0szForkingPickler.dumps)N)__name__
__module____qualname____doc__rcopyregrrrclassmethodrr$pickleloads
__classcell__rrrrr!s
rcCst|||dS)z3Replacement for pickle.dump() using ForkingPickler.N)rr	)r"filer#rrrr	:sr	)	DupHandle	duplicatesteal_handleF)source_processcCs6t}|dur|}|dur |}t|||d|tjS)z<Duplicate a handle.  (target_process is a handle not a pid!)Nr)_winapiGetCurrentProcessDuplicateHandleDUPLICATE_SAME_ACCESS)handleZtarget_processZinheritabler2Zcurrent_processrrrr0Gsr0c	CsNttjd|}z,t||tddtjtjBWt|St|0dS)z5Steal a handle from process identified by source_pid.FrN)r3OpenProcessPROCESS_DUP_HANDLEr5r4r6DUPLICATE_CLOSE_SOURCECloseHandle)Z
source_pidr7Zsource_process_handlerrrr1Ss


r1cCst|tj|}||dSz&Send a handle over a local connection.N)r/r3r6send)connr7destination_pidZdhrrrr_srcCs|S))Receive a handle over a local connection.)recvdetach)r>rrrrdsrc@s"eZdZdZdddZddZdS)r/zPicklable wrapper for a handle.Nc	Csf|durt}ttjd|}z(tt|||dd|_Wt|nt|0||_	||_
dS)NFr)osgetpidr3r8r9r5r4_handler;_access_pid)rr7accesspidprocrrrrjs
zDupHandle.__init__c	Csb|jtkr|jSttjd|j}z*t||jt|j	dtj
Wt|St|0dS)z1Get the handle.  This should only be called once.FN)rGrCrDrEr3r8r9r5r4rFr:r;)rrJrrrrBys


zDupHandle.detach)N)r%r&r'r(rrBrrrrr/hs
r/)DupFdsendfdsrecvfdsdarwincCsVtd|}tt|dg}||gtjtj|fgtrR|ddkrRt	ddS)z,Send an array of fds over an AF_UNIX socket.irAz%did not receive acknowledgement of fdN)
arraybyteslenrsocket
SOL_SOCKETrACKNOWLEDGErARuntimeError)sockZfdsmsgrrrrLs
rLc	Cstd}|j|}|dt|\}}}}|s:|s:tztrJ|dt|dkrft	dt||d\}}	}
|tj
kr|	tjkrt|
|jdkrt|
|
t|d|dkrtdt||dt|WSWnttfyYn0t	dd	S)
z/Receive an array of fds over an AF_UNIX socket.rOrrQzreceived %d items of ancdatarrPz Len is {0:n} but msg[0] is {1!r}zInvalid data receivedN)rRitemsizeZrecvmsgrUZ
CMSG_SPACEEOFErrorrWr=rTrXrVr
ValueErrorZ	frombytesAssertionErrorformatlist
IndexError)rYsizeaZ
bytes_sizerZZancdataflagsZaddrZ
cmsg_levelZ	cmsg_typeZ	cmsg_datarrrrMs:




rMcCsFt|tjtj}t||gWdn1s80YdSr<)rUfromfdfilenoAF_UNIXSOCK_STREAMrL)r>r7r?srrrrscCsHt|tjtj}t|ddWdS1s:0YdS)r@rrN)rUrerfrgrhrM)r>rirrrrscCsFt}|dur |||Str:ddlm}||StddS)zReturn a wrapper for an fd.Nr)resource_sharerz&SCM_RIGHTS appears not to be available)rZget_spawning_popenrKZduplicate_for_childHAVE_SEND_HANDLErjr])fdZ	popen_objrjrrrrKs
rKcCs2|jdurt|j|jjffSt|j|jjffSdSr
)__self__getattrr__func__r%mrrr_reduce_methods
rsc@seZdZddZdS)_CcCsdSr
r)rrrrfsz_C.fN)r%r&r'rurrrrrtsrtcCst|j|jffSr
)ro__objclass__r%rqrrr_reduce_method_descriptorsrwcCst|j|j|jpiffSr
)_rebuild_partialfuncrkeywords)prrr_reduce_partialsr|cCstj|g|Ri|Sr
)	functoolspartial)ryrrzrrrrxsrxcCsddlm}t||ffS)Nr)	DupSocket)rjr_rebuild_socket)rirrrr_reduce_socketsrcCs|Sr
)rB)ZdsrrrrsrcCs"t|}t||j|j|jffSr
)rKrfrfamilyrproto)ridfrrrrscCs|}tj||||dS)N)rf)rBrU)rrrrrmrrrrsc@sdeZdZdZeZeZeZeZeZe	j
dkr8eZeZe
Z
neZeZeZeZeZeZeZeZddZdS)AbstractReducerzAbstract base class for use in implementing a Reduction class
    suitable for use in replacing the standard reduction mechanism
    used in multiprocessing.r
cGsNtttjttttjttttj	ttt
jttt
j
tdSr
)rrrtrursr`appendrwint__add__r}r~r|rUrrrrrrs
zAbstractReducer.__init__N)r%r&r'r(rrr	rrsysplatformr1r0r/rLrMrKrsrwrxrrrrrrrrs&
r)	metaclass)N)NF).abcrr)r}rrCr+rUrrlr__all__rhasattrrkZPicklerrrr	r3r0r1rrobjectr/rRrWrLrMrKrsrtrrurwr`rrrr|rxr~rrrrrrr<module>
sj


	
#