<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
B
    YI~dl5                 @   s  d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ ddlm	Z	 ddddd	d
dddddddddgZ
d ZdZdZdZdZdZdZdadadd Zdd Zdd Zdd Zdd	 Zd>d d
Zd!d" Zd#d$ Ze Zd%d& Zd'd Ze Z e! Z"d(d) Z#d*d Z$i Z%e! Z&G d+d de'Z(d?d,d-Z)d.d Z*da+eee)e	j,e	j-fd/d0Z.e/e. G d1d de'Z0G d2d dej1Z2ye 3d3Z4W n e5k
r   d4Z4Y nX d5d Z6d6d7 Z7d8d9 Z8d:d; Z9d<d= Z:dS )@    N)_args_from_interpreter_flags   )process	sub_debugdebuginfosub_warning
get_loggerlog_to_stderrget_temp_dirregister_after_fork
is_exitingFinalizeForkAwareThreadLockForkAwareLocalclose_all_fds_exceptSUBDEBUG
SUBWARNING   
         multiprocessingz+[%(levelname)s/%(processName)s] %(message)sFc             G   s   t rt jt| f|  d S )N)_loggerlogr   )msgargs r   9/opt/alt/python37/lib64/python3.7/multiprocessing/util.pyr   ,   s    c             G   s   t rt jt| f|  d S )N)r   r   DEBUG)r   r   r   r   r   r   0   s    c             G   s   t rt jt| f|  d S )N)r   r   INFO)r   r   r   r   r   r   4   s    c             G   s   t rt jt| f|  d S )N)r   r   r   )r   r   r   r   r   r   8   s    c              C   s|   dd l } |   z\tsj| tadt_ttdrFtt	 t
t	 n$tjt	di f tjt	di f W d |   X tS )Nr   
unregisterr   )loggingZ_acquireLockr   Z	getLoggerLOGGER_NAMEZ	propagatehasattratexitr!   _exit_functionregisterZ_exithandlersremoveappendZ_releaseLock)r"   r   r   r   r	   <   s    



c             C   sJ   dd l }t }|t}| }|| || | rB||  dat	S )Nr   T)
r"   r	   Z	FormatterDEFAULT_LOGGING_FORMATZStreamHandlerZsetFormatterZ
addHandlerZsetLevel_log_to_stderrr   )levelr"   Zlogger	formatterZhandlerr   r   r   r
   W   s    



c               C   s    t jdkrdS tt drdS dS )NZlinuxTZgetandroidapilevelF)sysplatformr$   r   r   r   r   #_platform_supports_abstract_socketsl   s
    

r0   c             C   s@   | sdS t | tr| d dkS t | tr4| d dkS tdd S )NFr    z(address type of {address!r} unrecognized)
isinstancebytesstr	TypeError)Zaddressr   r   r   is_abstract_socket_namespacet   s    

r6   c             C   s&   | | t  }|d k	r"d |jd< d S )Ntempdir)r   current_process_config)rmtreer7   r8   r   r   r   _remove_temp_dir   s    r;   c              C   sf   t  jd} | d krbdd l}dd l}|jdd} td|  td t	|j
| fdd | t  jd< | S )Nr7   r   zpymp-)prefixzcreated temp directory %si)r   exitpriority)r   r8   r9   getshutiltempfileZmkdtempr   r   r;   r:   )r7   r?   r@   r   r   r   r      s    
c              C   sj   t t } |   xP| D ]H\\}}}}y|| W q tk
r` } ztd| W d d }~X Y qX qW d S )Nz after forker raised exception %s)list_afterfork_registryitemssort	Exceptionr   )rC   indexZidentfuncobjer   r   r   _run_after_forkers   s    rJ   c             C   s   | t ttt| |f< d S )N)rB   next_afterfork_counterid)rH   rG   r   r   r   r      s    c               @   sB   e Zd ZdddZdeeejfddZdd Z	d	d
 Z
dd ZdS )r   r   Nc             C   s   |d k	r&t |ts&td|t||d k	r>t|| | _n|d krNtd|| _	|| _
|p`i | _|ttf| _t | _| t| j< d S )Nz3Exitpriority ({0!r}) must be None or int, not {1!s}z+Without object, exitpriority cannot be None)r2   intr5   formattypeweakrefref_weakref
ValueError	_callback_args_kwargsrK   _finalizer_counter_keyosgetpid_pid_finalizer_registry)selfrH   callbackr   kwargsr=   r   r   r   __init__   s    

zFinalize.__init__c             C   s   y|| j = W n tk
r(   |d Y nbX | j| krD|d d }n$|d| j| j| j | j| j| j}d  | _ | _ | _ | _| _ |S d S )Nzfinalizer no longer registeredz+finalizer ignored because different processz/finalizer calling %s with args %s and kwargs %s)rY   KeyErrorr\   rU   rV   rW   rS   )r^   Zwrr]   r   r[   Zresr   r   r   __call__   s    zFinalize.__call__c             C   sD   yt | j= W n tk
r    Y n X d  | _ | _ | _ | _| _d S )N)r]   rY   rb   rS   rU   rV   rW   )r^   r   r   r   cancel   s
    zFinalize.cancelc             C   s
   | j tkS )N)rY   r]   )r^   r   r   r   still_active   s    zFinalize.still_activec          	   C   s   y|   }W n ttfk
r(   d }Y nX |d kr>d| jj S d| jjt| jd| jf }| jrr|dt| j 7 }| j	r|dt| j	 7 }| j
d d k	r|dt| j
d  7 }|d S )	Nz<%s object, dead>z<%s object, callback=%s__name__z, args=z	, kwargs=r   z, exitprority=>)rS   AttributeErrorr5   	__class__rf   getattrrU   rV   r4   rW   rY   )r^   rH   xr   r   r   __repr__   s     
zFinalize.__repr__)r   NN)rf   
__module____qualname__ra   r]   r   rZ   r[   rc   rd   re   rl   r   r   r   r   r      s   
c          	      s   t d krd S d krdd  nfdd  fddtt D }|jdd xX|D ]P}t |}|d k	rRtd| y
|  W qR tk
r   d	d l}|  Y qRX qRW d krt   d S )
Nc             S   s   | d d k	S )Nr   r   )pr   r   r   <lambda>      z!_run_finalizers.<locals>.<lambda>c                s   | d d k	o| d  kS )Nr   r   )ro   )minpriorityr   r   rp     rq   c                s   g | ]} |r|qS r   r   ).0key)fr   r   
<listcomp>#  s    z#_run_finalizers.<locals>.<listcomp>T)reversez
calling %sr   )	r]   rA   rD   r>   r   rE   	traceback	print_excclear)rr   keysrt   	finalizerrx   r   )ru   rr   r   _run_finalizers  s$    




r}   c               C   s   t p
t d kS )N)_exitingr   r   r   r   r   8  s    c             C   s   t sda | d |d |d | d k	rzx*| D ] }|jr2| d|j |j  q2W x"| D ]}| d|j |  q^W |d |  d S )NTzprocess shutting downz2running all "atexit" finalizers with priority >= 0r   z!calling terminate() for daemon %szcalling join() for process %sz)running the remaining "atexit" finalizers)r~   ZdaemonnameZ_popenZ	terminatejoin)r   r   r}   active_childrenr8   ro   r   r   r   r&   @  s    	
r&   c               @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
r   c             C   s   |    t| tj  d S )N)_resetr   r   )r^   r   r   r   ra   q  s    zForkAwareThreadLock.__init__c             C   s"   t  | _| jj| _| jj| _d S )N)	threadingZLock_lockacquirerelease)r^   r   r   r   r   u  s    

zForkAwareThreadLock._resetc             C   s
   | j  S )N)r   	__enter__)r^   r   r   r   r   z  s    zForkAwareThreadLock.__enter__c             G   s   | j j| S )N)r   __exit__)r^   r   r   r   r   r   }  s    zForkAwareThreadLock.__exit__N)rf   rm   rn   ra   r   r   r   r   r   r   r   r   p  s   c               @   s   e Zd Zdd Zdd ZdS )r   c             C   s   t | dd  d S )Nc             S   s
   | j  S )N)__dict__rz   )rH   r   r   r   rp     rq   z)ForkAwareLocal.__init__.<locals>.<lambda>)r   )r^   r   r   r   ra     s    zForkAwareLocal.__init__c             C   s   t | dfS )Nr   )rP   )r^   r   r   r   
__reduce__  s    zForkAwareLocal.__reduce__N)rf   rm   rn   ra   r   r   r   r   r   r     s   SC_OPEN_MAX   c             C   sR   t | dtg } |   x4tt| d D ] }t| | d | |d   q*W d S )Nr   )rA   MAXFDrD   rangelenrZ   
closerange)Zfdsir   r   r   r     s    c           	   C   s   t jd krd S yt j  W n ttfk
r4   Y nX y@ttjtj} yt| ddt _W n   t|   Y nX W n ttfk
r   Y nX d S )NF)closefd)	r.   stdincloseOSErrorrT   rZ   opendevnullO_RDONLY)fdr   r   r   _close_stdin  s    

r   c            	   C   sT   yt j  W n ttfk
r&   Y nX yt j  W n ttfk
rN   Y nX d S )N)r.   stdoutflushrh   rT   stderrr   r   r   r   _flush_std_streams  s    r   c             C   st   dd l }tttt|}t \}}z2||t| gd|d d dddddd||ddd S t	| t	| X d S )Nr   Tr   F)
_posixsubprocesstuplesortedmaprN   rZ   pipeZ	fork_execfsencoder   )pathr   Zpassfdsr   Zerrpipe_readZerrpipe_writer   r   r   spawnv_passfds  s    

r   c              C   sD   ddl m}  t  ddlm} |j  t  | 	  | 
  d S )Nr   )support)
forkserver)Ztestr   r   Z_cleanupr   r   Z_forkserverZ_stopr}   Z
gc_collectZreap_children)r   r   r   r   r   _cleanup_tests  s    
r   )N)N);rZ   	itertoolsr.   rQ   r%   r   
subprocessr    r   __all__ZNOTSETr   r   r    r   r#   r*   r   r+   r   r   r   r   r	   r
   r0   r6   Zabstract_sockets_supportedr;   r   ZWeakValueDictionaryrB   countrL   rJ   r   r]   rX   objectr   r}   r   r~   r   r8   r&   r'   r   Zlocalr   sysconfr   rE   r   r   r   r   r   r   r   r   r   <module>
   sp   



		V
,(



