o
0i
# @ s d dl Z d dlZd dlZd dlZd dlZddlmZ ddlmZ g dZe edZ
ejejfZ
ddd iZe jd
krWd dlZd dlZe edrOedeji ed
eji G dd deZe ZejZejZejZejZdd ZdS ) N )spawn)util)ensure_runningregister
unregisterpthread_sigmaskZnoopc C s d S N r
r
r
G/opt/alt/python310/lib64/python3.10/multiprocessing/resource_tracker.py! s r posix
sem_unlinkZ semaphoreZ
shared_memoryc @ sL e Zd Zdd Zdd Zdd Zdd Zd d
Zdd Zd
d Z dd Z
dS )ResourceTrackerc C s t | _d | _d | _d S r ) threadingZLock_lock_fd_pidselfr
r
r __init__8 s
zResourceTracker.__init__c C sn | j * | jd u r W d d S t| j d | _t| jd d | _W d d S 1 s0w Y d S )Nr )r r osclosewaitpidr r r
r
r _stop= s
"zResourceTracker._stopc C s | | jS r )r r r r
r
r getfdJ s zResourceTracker.getfdc C s | j | jd ur@| r W d d S t| j z| jd ur*t| jd W n ty4 Y nw d | _d | _t d g }z
|
tj
W n tyU Y nw d}t \}}zXzA|
| t }|gt }|d|| g7 }ztrttjt t|||}W trttjt ntrttjt w w W n t| || _|| _W t| nt| w W d d S 1 sw Y d S )Nr zUresource_tracker: process died unexpectedly, relaunching. Some resources might leak.z:from multiprocessing.resource_tracker import main;main(%d)z-c)r r _check_aliver r r r ChildProcessErrorwarningswarnappendsysstderrfileno Exceptionpiper Zget_executabler Z_args_from_interpreter_flags
_HAVE_SIGMASKsignalr SIG_BLOCK_IGNORED_SIGNALSZspawnv_passfdsSIG_UNBLOCK)r Zfds_to_passcmdrwZexeargspidr
r
r r N s`
"zResourceTracker.ensure_runningc C s, z
t | jd W dS ty Y dS w )Ns
PROBE:0:noop
FT)r writer OSErrorr r
r
r r s zResourceTracker._check_alivec C | d|| d S )NREGISTER_sendr namertyper
r
r r zResourceTracker.registerc C r2 )N
UNREGISTERr4 r6 r
r
r r r9 zResourceTracker.unregisterc C sB | d|||d}t|dkrtdt| j|}d S )Nz{0}:{1}:{2}
asciii zmsg too long)r formatencodelen
ValueErrorr r0 r )r r+ r7 r8 msgnbytesr
r
r r5 s
zResourceTracker._sendN)__name__
__module____qualname__r r r r r r r r5 r
r
r
r r 6 s
@r c
C s t t jt j t t jt j trt t jt tj tj
fD ]}z| W q ty1 Y q w dd t
D }zt| dj}|D ]_}zF| dd\}}}t
|d }|d u rhtd| d| |dkrt|| | n|d kr|| | n|d
krntd| W qD ty z tjt W n Y Y qDw W d n1 sw Y W | D ]I\}}|rz
tdt||f W n ty Y nw |D ])}z&zt
| | W n ty } ztd
|| f W Y d } ~ nd } ~ ww W qw qd S | D ]N\}}|r'z
tdt||f W n
ty& Y nw |D ]+}z(zt
| | W n tyP } ztd
|| f W Y d } ~ nd } ~ ww W q)w qw )Nc S s i | ]}|t qS r
)set).0r8 r
r
r