File "reduction.cpython-34.pyc"

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


e f@sddlZddlZddlZddlZddlZddlZddlZddlmZdddddgZ	ej
d	kpeed
oeedoeejdZGd
ddej
ZejZdddZej
d	krfe	dddg7Z	ddlZddddZddZddZddZGdddeZnje	dddg7Z	ddlZej
dkZddZddZddZddZd dZd!d"ZGd#d$d$Zeeej ed%d&Z!eee"j#e!eee$j%e!d'd(Z&d)d*Z'eej(e&ej
d	krd+d,Z)d-d.Z*eeje)n(d/d,Z)d0d.Z*eeje)dS)1N)contextsend_handlerecv_handleForkingPicklerregisterdumpwin32CMSG_LEN
SCM_RIGHTSsendmsgcsgeZdZdZiZejZfddZe	ddZ
e	dddZej
Z
S)	rz)Pickler subclass used by multiprocessing.cs9tj||jj|_|jj|jdS)N)super__init___copyreg_dispatch_tablecopydispatch_tableupdate_extra_reducers)selfargs)	__class__>/opt/alt/python34/lib64/python3.4/multiprocessing/reduction.pyr%szForkingPickler.__init__cCs||j|<dS)z&Register a reduce function for a type.N)r)clstypereducerrrr*szForkingPickler.registerNcCs,tj}|||j||jS)N)ioBytesIOr	getbuffer)robjprotocolZbufrrrdumps/szForkingPickler.dumps)__name__
__module____qualname____doc__rcopyregrrrclassmethodrr!pickleloadsrr)rrr s	cCst||j|dS)z3Replacement for pickle.dump() using ForkingPickler.N)rr)rfiler rrrr9s	DupHandle	duplicatesteal_handleFcCs@|dkrtj}ntjtj||d|tjS)z<Duplicate a handle.  (target_process is a handle not a pid!)Nr)_winapiGetCurrentProcessDuplicateHandleDUPLICATE_SAME_ACCESS)handleZtarget_processZinheritablerrrr,Fs
cCs]tjtjd|}z0tj||tjddtjtjBSWdtj|XdS)z5Steal a handle from process identified by source_pid.FrN)r.OpenProcessPROCESS_DUP_HANDLEr0r/r1DUPLICATE_CLOSE_SOURCECloseHandle)Z
source_pidr2Zsource_process_handlerrrr-NscCs&t|tj|}|j|dS)z&Send a handle over a local connection.N)r+r.r1send)connr2destination_pidZdhrrrrZscCs|jjS)z)Receive a handle over a local connection.)recvdetach)r8rrrr_sc@s1eZdZdZdddZddZdS)r+zPicklable wrapper for a handle.Nc
Cs|dkrtj}ntjtjd|}z+tjtj|||dd|_Wdtj|X||_	||_
dS)NFr)osgetpidr.r3r4r0r/_handler6_access_pid)rr2accesspidprocrrrres		zDupHandle.__init__c
Cs{|jtjkr|jStjtjd|j}z/tj||jtj|j	dtj
SWdtj|XdS)z1Get the handle.  This should only be called once.FN)r@r<r=r>r.r3r4r0r/r?r5r6)rrCrrrr;tszDupHandle.detach)r"r#r$r%rr;rrrrr+csDupFdsendfdsrecvfdsdarwincCs~tjd|}tt|dg}|j|gtjtj|fgtrz|jddkrzt	dndS)z,Send an array of fds over an AF_UNIX socket.irAz%did not receive acknowledgement of fdN)
arraybyteslenrsocket
SOL_SOCKETrACKNOWLEDGEr:RuntimeError)sockZfdsmsgrrrrEs
%cCsTtjd}|j|}|jdtj|\}}}}|rZ|rZtnytrs|jdnt|dkrt	dt|n|d\}}	}
|tj
kr(|	tjkr(t|
|jdkrtn|j
|
t|d|dkstt|SWnttfk
rCYnXt	ddS)	z/Receive an array of fds over an AF_UNIX socket.rHrrJzreceived %d items of ancdatarrIzInvalid data receivedN)rKitemsizeZrecvmsgrNr
EOFErrorrPr7rMrQrOr
ValueErrorZ	frombytesAssertionErrorlist
IndexError)rRsizeaZ
bytes_sizerSZancdataflagsZaddrZ
cmsg_levelZ	cmsg_typeZ	cmsg_datarrrrFs,
'		
 c
Cs>tj|jtjtj}t||gWdQXdS)z&Send a handle over a local connection.N)rNfromfdfilenoAF_UNIXSOCK_STREAMrE)r8r2r9srrrrs$c
Cs?tj|jtjtj}t|ddSWdQXdS)z)Receive a handle over a local connection.rrN)rNr]r^r_r`rF)r8rarrrrs$cCsatj}|dk	r.|j|j|StrQddlm}|j|StddS)zReturn a wrapper for an fd.Nr)resource_sharerz&SCM_RIGHTS appears not to be available)rZget_spawning_popenrDZduplicate_for_childHAVE_SEND_HANDLErbrV)fdZ	popen_objrbrrrrDs
cCsE|jdkr(t|j|jjffSt|j|jjffSdS)N)__self__getattrr__func__r")mrrr_reduce_methodsrjc@seZdZddZdS)_CcCsdS)Nr)rrrrfsz_C.fN)r"r#r$rlrrrrrksrkcCst|j|jffS)N)rg__objclass__r")rirrr_reduce_method_descriptorsrncCs"t|j|j|jpiffS)N)_rebuild_partialfuncrkeywords)prrr_reduce_partialsrscCstj|||S)N)	functoolspartial)rprrqrrrrosrocCs#ddlm}t||ffS)Nr)	DupSocket)rbrv_rebuild_socket)rarvrrr_reduce_socketsrxcCs
|jS)N)r;)ZdsrrrrwsrwcCs1t|j}t||j|j|jffS)N)rDr^rwfamilyrproto)radfrrrrxscCs%|j}tj|||d|S)Nr^)r;rN)r{ryrrzrerrrrws)+r&rtrr<r(rNsysrdr__all__platformhasattrrcZPicklerrrrr.r,r-rrobjectr+rKrPrErFrDrjrkrrlrnrXappendint__add__rsrorurxrwrrrr<module>
s^	#