U :e@sddddddddgZdZeZifd dZd dZd dZd dZdddZddZ Gddde Z Gddde Z da daddZd S)errorstart_new_threadexit get_ident allocate_lockinterrupt_mainLockTypeRLocklcCst|ttkrtdt|ttkr4tddaz|||Wn.tk rZYnddl}|YnXdatrdat dS)Nz2nd arg must be a tuplez3rd arg must be a dictFT) typetuple TypeErrordict_main SystemExit traceback print_exc _interruptKeyboardInterrupt)functionargskwargsrr2/usr/local/python38/lib/python3.8/_dummy_thread.pyrs cCstdSN)rrrrrr=scCsdSNrrrrrrAscCstSrrrrrrrJsNcCs|dk rtddS)Nz'setting thread stack size not supportedr )r)sizerrr stack_sizeNsrcCstSrrrrrr _set_sentinelTsrc@sBeZdZddZdddZeZddZd d Zd d Zd dZ dS)rcCs d|_dS)NF locked_statusselfrrr__init__cszLockType.__init__NcCsH|dks |rd|_dS|js&d|_dS|dkr@ddl}||dSdS)NTr F)r!timesleep)r#waitflagtimeoutr&rrracquirefs  zLockType.acquirecCs |dSr)release)r#typvaltbrrr__exit__szLockType.__exit__cCs|js td|_dS)NFT)r!rr"rrrr+szLockType.releasecCs|jSrr r"rrrlockedszLockType.lockedcCs*d|jr dnd|jj|jjtt|fS)Nz<%s %s.%s object at %s>r0unlocked)r! __class__ __module__ __qualname__hexidr"rrr__repr__s   zLockType.__repr__)Nr%) __name__r3r4r$r* __enter__r/r+r0r7rrrrrXs   cs6eZdZfddZd fdd ZfddZZS) rcstd|_dS)Nr )superr$_levelsr"r2rrr$s zRLock.__init__Nr%cs$t||}|r |jd7_|Sr)r:r*r;)r#r(r)r0r<rrr*sz RLock.acquirecs4|jdkrt|jdkr"t|jd8_dS)Nr r)r;rr:r+r"r<rrr+s    z RLock.release)Nr%)r8r3r4r$r*r+ __classcell__rrr<rrs FTcCstr tndadS)NT)rrrrrrrrs)N)__all__ TIMEOUT_MAX RuntimeErrorrrrrrrrobjectrrrrrrrrrs"    @