File "reduction.cpython-37.pyc"

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

B

 f$@sddlmZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddddd	gZejd
kpe
edoe
edoe
ejd
ZGdddejZejZd5dd	Zejd
kredddg7ZddlZd6ddZddZddZddZGdddeZnHedddg7ZddlZejdkZddZddZddZd dZd!dZd"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d
krd,d-Z+d.d/Z,eeje+nd0d-Z+d1d/Z,eeje+Gd2d3d3ed4Z-dS)7)ABCMetaN)contextsend_handlerecv_handleForkingPicklerregisterdumpwin32ZCMSG_LEN
SCM_RIGHTSsendmsgcsJeZdZdZiZejZfddZe	ddZ
e	d	ddZej
Z
ZS)
rz)Pickler subclass used by multiprocessing.cs*tj||j|_|j|jdS)N)super__init___copyreg_dispatch_tablecopydispatch_tableupdate_extra_reducers)selfargs)	__class__>/opt/alt/python37/lib64/python3.7/multiprocessing/reduction.pyr&szForkingPickler.__init__cCs||j|<dS)z&Register a reduce function for a type.N)r)clstypereducerrrr+szForkingPickler.registerNcCs t}|||||S)N)ioBytesIOr		getbuffer)robjprotocolZbufrrrdumps0szForkingPickler.dumps)N)__name__
__module____qualname____doc__rcopyregrrrclassmethodrr!pickleloads
__classcell__rr)rrr!scCst|||dS)z3Replacement for pickle.dump() using ForkingPickler.N)rr	)rfiler rrrr	:s	DupHandle	duplicatesteal_handleFcCs*|dkrt}tt||d|tjS)z<Duplicate a handle.  (target_process is a handle not a pid!)Nr)_winapiGetCurrentProcessDuplicateHandleDUPLICATE_SAME_ACCESS)handleZtarget_processZinheritablerrrr-Gs

c	CsBttjd|}z t||tddtjtjBSt|XdS)z5Steal a handle from process identified by source_pid.FrN)r/OpenProcessPROCESS_DUP_HANDLEr1r0r2DUPLICATE_CLOSE_SOURCECloseHandle)Z
source_pidr3Zsource_process_handlerrrr.Os
cCst|tj|}||dS)z&Send a handle over a local connection.N)r,r/r2send)connr3destination_pidZdhrrrr[scCs|S)z)Receive a handle over a local connection.)recvdetach)r9rrrr`sc@s"eZdZdZdddZddZdS)r,zPicklable wrapper for a handle.Nc	Cs\|dkrt}ttjd|}ztt|||dd|_Wdt|X||_	||_
dS)NFr)osgetpidr/r4r5r1r0_handler7_access_pid)rr3accesspidprocrrrrfszDupHandle.__init__c	CsV|jtkr|jSttjd|j}zt||jt|j	dtj
St|XdS)z1Get the handle.  This should only be called once.FN)rAr=r>r?r/r4r5r1r0r@r6r7)rrDrrrr<us
zDupHandle.detach)N)r"r#r$r%rr<rrrrr,ds
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_SOCKETrACKNOWLEDGEr;RuntimeError)sockZfdsmsgrrrrFs
c	Cstd}|j|}|dt|\}}}}|s:|s:tytrJ|dt|dkrft	dt||d\}}	}
|tj
kr|	tjkrt|
|jdkrt|
|
t|d|dkrtdt||dt|SWnttfk
rYnXt	dd	S)
z/Receive an array of fds over an AF_UNIX socket.rIrrKzreceived %d items of ancdatarrJz Len is {0:n} but msg[0] is {1!r}zInvalid data receivedN)rLitemsizeZrecvmsgrOZ
CMSG_SPACEEOFErrorrQr8rNrRrPr
ValueErrorZ	frombytesAssertionErrorformatlist
IndexError)rSsizeaZ
bytes_sizerTZancdataflagsZaddrZ
cmsg_levelZ	cmsg_typeZ	cmsg_datarrrrGs2





c	Cs2t|tjtj}t||gWdQRXdS)z&Send a handle over a local connection.N)rOfromfdfilenoAF_UNIXSOCK_STREAMrF)r9r3r:srrrrsc	Cs0t|tjtj}t|ddSQRXdS)z)Receive a handle over a local connection.rrN)rOr_r`rarbrG)r9rcrrrrscCsFt}|dk	r |||Str:ddlm}||StddS)zReturn a wrapper for an fd.Nr)resource_sharerz&SCM_RIGHTS appears not to be available)rZget_spawning_popenrEZduplicate_for_childHAVE_SEND_HANDLErdrW)fdZ	popen_objrdrrrrEs
cCs2|jdkrt|j|jjffSt|j|jjffSdS)N)__self__getattrr__func__r")mrrr_reduce_methods
rlc@seZdZddZdS)_CcCsdS)Nr)rrrrfsz_C.fN)r"r#r$rnrrrrrmsrmcCst|j|jffS)N)ri__objclass__r")rkrrr_reduce_method_descriptorsrpcCst|j|j|jpiffS)N)_rebuild_partialfuncrkeywords)prrr_reduce_partialsrucCstj|f||S)N)	functoolspartial)rrrrsrrrrqsrqcCsddlm}t||ffS)Nr)	DupSocket)rdrx_rebuild_socket)rcrxrrr_reduce_socketsrzcCs|S)N)r<)ZdsrrrrysrycCs"t|}t||j|j|jffS)N)rEr`ryfamilyrproto)rcdfrrrrzscCs|}tj||||dS)N)r`)r<rO)r}r{rr|rgrrrrysc@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
tdS)N)rrrmrnrlrZappendrpint__add__rvrwrurOrz)rrrrrrs
zAbstractReducer.__init__N)r"r#r$r%rrr	rrsysplatformr.r-r,rFrGrErlrprqrzryrrrrrr~s&
r~)	metaclass)N)NF).abcrr&rvrr=r(rOrrfr__all__rhasattrreZPicklerrrr	r/r-r.rrobjectr,rLrQrFrGrErlrmrrnrprZrrrrurqrwrzryr~rrrr<module>
sb




#