U
if @ s d dddddddgZ dZeZi fd dZd
d Zdd Zdd ZdddZdd Z G dd de
ZG dd deZda
dadd Zd
S )errorstart_new_threadexit get_ident
allocate_lockinterrupt_mainLockTypeRLockl c C s t |t t krtdt |t t kr4tddaz| || W n. tk
rZ Y n dd l}| Y nX datrdat d S )Nz2nd arg must be a tuplez3rd arg must be a dictF T)
typetuple TypeErrordict_main
SystemExit traceback print_exc
_interruptKeyboardInterrupt)Zfunctionargskwargsr r 2/opt/alt/python38/lib64/python3.8/_dummy_thread.pyr s
c C s t d S N)r r r r r r = s c C s dS N r r r r r r A s c C s t S r r r r r r r J s Nc C s | d k rt ddS )Nz'setting thread stack size not supportedr )r )sizer r r
stack_sizeN s r c C s t S r r r r r r
_set_sentinelT s r c @ sB e Zd Zdd ZdddZeZdd Zd d
Zdd Zd
d Z dS )r c C s
d| _ d S )NF
locked_statusselfr r r __init__c s zLockType.__init__Nc C sH |d ks|rd| _ dS | j s&d| _ dS |dkr@dd l}|| dS d S )NTr F)r timesleep)r" waitflagtimeoutr% r r r acquiref s
zLockType.acquirec C s | d S r )release)r" typvaltbr r r __exit__ s zLockType.__exit__c C s | j s
td| _ dS )NFT)r r r! r r r r* s zLockType.releasec C s | j S r r r! r r r locked s zLockType.lockedc C s* d| j rdnd| jj| jjtt| f S )Nz<%s %s.%s object at %s>r/ Zunlocked)r __class__
__module____qualname__hexidr! r r r __repr__ s
zLockType.__repr__)Nr$ )
__name__r1 r2 r# r) __enter__r. r* r/ r5 r r r r r X s
c s6 e Zd Z fddZd fdd Z fddZ ZS )
r c s t d| _d S )Nr )superr# _levelsr! r0 r r r# s
zRLock.__init__Nr$ c s$ t ||}|r | jd7 _|S r )r8 r) r9 )r" r' r( r/ r: r r r) s z
RLock.acquirec s4 | j dkrt| j dkr"t | j d8 _ d S )Nr r )r9 r r8 r* r! r: r r r* s
z
RLock.release)Nr$ )r6 r1 r2 r# r) r*
__classcell__r r r: r r s FTc C s t r
tndad S )NT)r r r r r r r r s )N)__all__TIMEOUT_MAXRuntimeErrorr r r r r r r objectr r r r r r r r r