File "forkserver.cpython-37.pyc"

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

B

 fq0@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddl	mZddlm
Z
ddl	mZddl	mZddl	mZd	d
ddgZd
ZedZGdddeZdddZddZddZddZeZejZejZejZejZdS)N)
connection)process)	reduction)semaphore_tracker)spawn)utilensure_runningget_inherited_fdsconnect_to_new_processset_forkserver_preloadqc@sDeZdZddZddZddZddZd	d
ZddZd
dZ	dS)
ForkServercCs.d|_d|_d|_d|_t|_dg|_dS)N__main__)_forkserver_address_forkserver_alive_fd_forkserver_pid_inherited_fds	threadingZLock_lock_preload_modules)selfr?/opt/alt/python37/lib64/python3.7/multiprocessing/forkserver.py__init__"s
zForkServer.__init__c	Cs|j|WdQRXdS)N)r_stop_unlocked)rrrr_stop*szForkServer._stopcCsJ|jdkrdSt|jd|_t|jdd|_t|jd|_dS)Nr)roscloserwaitpidunlinkr)rrrrr/s
zForkServer._stop_unlockedcCs&tdd|jDstd||_dS)z>Set list of module names to try to load in forkserver process.css|]}t|tkVqdS)N)typestr).0modrrr	<genexpr>?sz4ForkServer.set_forkserver_preload.<locals>.<genexpr>z&module_names must be a list of stringsN)allr	TypeError)rZ
modules_namesrrrr=sz!ForkServer.set_forkserver_preloadcCs|jS)zReturn list of fds inherited from parent process.

        This returns None if the current process was not started by fork
        server.
        )r)rrrrr
CszForkServer.get_inherited_fdsc
Cs|t|dtkr tdttj}||jt	\}}t	\}}|||j
tg}||7}z<yt
||||fSt|t|YnXWdt|t|XWdQRXdS)a;Request forkserver to create a child process.

        Returns a pair of fds (status_r, data_w).  The calling process can read
        the child process's pid and (eventually) its returncode from status_r.
        The calling process should write to data_w the pickled preparation and
        process data.
        ztoo many fdsN)r	lenMAXFDS_TO_SEND
ValueErrorsocketAF_UNIXZconnectrrpiperrZgetfdrZsendfdsr)rfdsZclientZparent_rchild_wchild_rZparent_wZallfdsrrrrKs&



z!ForkServer.connect_to_new_processcs|jtt|jdk	rVt|jtj\}}|s8dSt|jd|_	d|_d|_d}|j
rddhtd}fdd|
D}ni}ttj}td}||t|st|d	|t\}}ztyV||g}	||||j
|f;}t}
|
gt}|d
|g7}t|
||	}Wnt|YnXWdt|X||_	||_||_WdQRXWdQRXdS)zMake sure that a fork server is running.

        This can be called from any process.  Note that usually a child
        process will just reuse the forkserver started by its parent, so
        ensure_running() will do nothing.
        NzCfrom multiprocessing.forkserver import main; main(%d, %d, %r, **%r)	main_pathsys_pathignorecsi|]\}}|kr||qSrr)r$xy)desired_keysrr
<dictcomp>sz-ForkServer.ensure_running.<locals>.<dictcomp>r.iz-c)rrr	rrr WNOHANGrrrrrZget_preparation_dataitemsr-r.rZarbitrary_addressZbindrZis_abstract_socket_namespacechmodZlistenr/filenoZget_executableZ_args_from_interpreter_flagsZspawnv_passfds)rpidZstatuscmddatalistenerZaddressalive_rZalive_wZfds_to_passZexeargsr)r8rr	hsL






zForkServer.ensure_runningN)
__name__
__module____qualname__rrrrr
rr	rrrrr srcCs|rhd|kr8|dk	r8dt_zt|Wdt`Xx.|D]&}yt|Wq>tk
rbYq>Xq>Wtt	
\}}t	|dt	|ddd}tj
|tjtji}	dd|	D}
t|i}tjtj|d	}t}
|t_|
|tj|
|tj|
|tjxʐyx d
d|
D}|r,Pq,W||krtt	|dd
ksptdt||krdt	|dxyt	dt	j \}}Wnt!k
rPYnX|dkrP|"|d}|dk	rPt	#|rt	$|}n&t	%|std&||t	'|}yt(||Wnt)k
rBYnXt	*|nt+,d|qW||kr|-d0}t./|t0d}t1|t0krt2d&t1||^}}}|*t	3}|dkrVd}zpy<|*|
*||||g}|4|5t6||||
}Wn.t7k
rBt8j9t8:t8j;<YnXWdt	=|XnRyt(||Wnt)k
rzYnX|||<t	*|x|D]}t	*|qWWdQRXWn4t>k
r}z|j?t?j@kr؂Wdd}~XYnXq&WWdQRXWdQRXdS)zRun forkserver.rNTFcWsdS)Nr)Z_unusedrrrsigchld_handlerszmain.<locals>.sigchld_handlercSsi|]\}}t|||qSr)signal)r$sigvalrrrr9szmain.<locals>.<dictcomp>)r=cSsg|]\}}|jqSr)Zfileobj)r$keyZeventsrrr
<listcomp>szmain.<locals>.<listcomp>rzNot at EOF?irzChild {0:n} status is {1:n}z.forkserver: waitpid returned unexpected pid %dzToo many ({0:n}) fds to send)ArZcurrent_processZ_inheritingrZimport_main_path
__import__ImportErrorrZ_close_stdinrr/set_blockingrHSIGCHLDSIGINTSIG_IGNr;
set_wakeup_fdr-r.	selectorsZDefaultSelectorZgetsockname_forkserverrregisterZ
EVENT_READZselectreadAssertionError
SystemExitr r:ChildProcessErrorpopWIFSIGNALEDWTERMSIG	WIFEXITEDformatWEXITSTATUSwrite_signedBrokenPipeErrorrwarningswarnZacceptrZrecvfdsr+r*RuntimeErrorforkextendvalues
_serve_one	Exceptionsys
excepthookexc_infostderrflush_exitOSErrorerrnoZECONNABORTED)Zlistener_fdrBZpreloadr3r4modnameZsig_rZsig_wrGhandlersZold_handlersZ	pid_to_fdrAZselectorZrfdsr>stsr1
returncodesr0r2code
unused_fdsfderrrmains

















r~cCsdtdx |D]\}}t||qWx|D]}t|q2W|^t_tj_	t_
t|}|S)NrN)
rHrUr;rrrWrrZ_semaphore_trackerZ_fdrr_main)r2r0r{rvrIrJr|rzrrrrk0s


rkcCsRd}tj}x8t||krBt||t|}|s8td||7}qWt|dS)NrMzunexpected EOFr)
SIGNED_STRUCTsizer*rrYEOFErrorZunpack)r|r@lengthryrrrread_signedFsrcCs@t|}x0|r:t||}|dkr,td||d}qWdS)Nrzshould not get here)rZpackrwriterg)r|nmsgnbytesrrrrcPs
rc)NN) rtrrVrHr-Zstructrmrrerrcontextrrrr__all__r+ZStructrobjectrr~rkrrcrWr	r
rrrrrr<module>s<