B iR/@sddddddddgZdZeZifd dZd dZd dZd dZdddZddZ Gddde Z Gddde Z da daddZd S)errorstart_new_threadexit get_ident allocate_lockinterrupt_mainLockTypeRLocklcCst|ttkrtdt|ttkr4tdday|||Wn.tk rZYnddl}|YnXdatrdat dS)Nz2nd arg must be a tuplez3rd arg must be a dictFT) typetuple TypeErrordict_main SystemExit traceback print_exc _interruptKeyboardInterrupt)Zfunctionargskwargsrr0/opt/alt/python37/lib/python3.7/_dummy_thread.pyrs cCstdS)N)rrrrrr=scCsdS)NrrrrrrAscCstS)N)rrrrrrJsNcCs|dk rtddS)Nz'setting thread stack size not supportedr )r)sizerrr stack_sizeNsrcCstS)N)rrrrr _set_sentinelTsrc@sBeZdZddZdddZeZddZd d Zd d Zd dZ dS)rcCs d|_dS)NF) locked_status)selfrrr__init__cszLockType.__init__NcCsH|dks |rd|_dS|js&d|_dS|dkr@ddl}||dSdS)NTr F)rtimeZsleep)rwaitflagtimeoutr rrracquirefs  zLockType.acquirecCs |dS)N)release)rtypvaltbrrr__exit__szLockType.__exit__cCs|js td|_dS)NFT)rr)rrrrr$szLockType.releasecCs|jS)N)r)rrrrlockedszLockType.lockedcCs*d|jr dnd|jj|jjtt|fS)Nz<%s %s.%s object at %s>r)Zunlocked)r __class__ __module__ __qualname__hexid)rrrr__repr__s  zLockType.__repr__)Nr) __name__r+r,rr# __enter__r(r$r)r/rrrrrXs   cs6eZdZfddZd fdd ZfddZZS) rcstd|_dS)Nr )superr_levels)r)r*rrrs zRLock.__init__Nrcs$t||}|r |jd7_|S)Nr)r2r#r3)rr!r"r))r*rrr#sz RLock.acquirecs4|jdkrt|jdkr"t|jd8_dS)Nr r)r3rr2r$)r)r*rrr$s    z RLock.release)Nr)r0r+r,rr#r$ __classcell__rr)r*rrs FTcCstr tndadS)NT)rrrrrrrrs)N)__all__ TIMEOUT_MAX RuntimeErrorrrrrrrrobjectrrrrrrrrrs     @