/usr/local/lib/python3.6/site-packages/virtualenv/util/__pycache__
NameSizeModeActions
error.cpython-36.pyc6290644editdlrm
lock.cpython-36.pyc60020644editdlrm
zipapp.cpython-36.pyc10860644editdlrm
__init__.cpython-36.pyc1490644editdlrm
Edit: /usr/local/lib/python3.6/site-packages/virtualenv/util/__pycache__/lock.cpython-36.pyc (6002B)
3 0Dg6@sdZddlZddlZddlmZmZddlmZddlm Z ddl m Z m Z ddl mZmZGdd d eZiZe ZGd d d ed ZGd ddeZGdddeZdddgZdS)z7holds locking functionality that works across processesN)ABCMetaabstractmethod)contextmanager)Path)LockRLock)FileLockTimeoutcs8eZdZfddZd fdd Zd fdd ZZS) _CountedFileLockc sZtjj|}tjj|s/usr/local/lib/python3.6/site-packages/virtualenv/util/lock.pyrs   z_CountedFileLock.__init__N皙?c s<|j,|jdkr tj|||jd7_WdQRXdS)Nr)rrracquire)rtimeout poll_interval)rrrrs z_CountedFileLock.acquireFc s@|j0|jdkr tj|dt|jdd|_WdQRXdS)Nr)forcer)rrrreleasemax)rr )rrrr!s z_CountedFileLock.release)Nr)F)__name__ __module__ __qualname__rrr! __classcell__rr)rrr s r c@sfeZdZddZddZddZddZed d Zed d Z ee dddZ ee ddZ dS) PathLockBasecCs"t|}|jr|jn||_dS)N)rexistsresolver )rfolderr rrrr+szPathLockBase.__init__cCs|jjd|jdS)N())rr#r )rrrr__repr__/szPathLockBase.__repr__cCst||j|S)N)typer )rotherrrr__div__2szPathLockBase.__div__cCs |j|S)N)r0)rr/rrr __truediv__5szPathLockBase.__truediv__cCstdS)N)NotImplementedError)rrrr __enter__8szPathLockBase.__enter__cCstdS)N)r2)rexc_typeexc_valexc_tbrrr__exit__<szPathLockBase.__exit__FcCstdS)N)r2)rnameno_blockrrr lock_for_key@szPathLockBase.lock_for_keycCstdS)N)r2)rr8rrrnon_reentrant_lock_for_keyEsz'PathLockBase.non_reentrant_lock_for_keyN)F) r#r$r%rr-r0r1rr3r7rr:r;rrrrr'*s  r') metaclasscszeZdZfddZdddZeddZdd Zd d Zd d Z dddZ eddZ e dddZ e ddZZS)ReentrantFileLockcstj|d|_dS)N)rr_lock)rr*)rrrrLs zReentrantFileLock.__init__c Cs@t|j|d}t|tkr.t|t|<t|SQRXdS)Nz.lock)strr _store_lock _lock_storer )rr8rrrr _create_lockPs  zReentrantFileLock._create_lockcCsF|dk rBt0|j|jdkr.tj|jdWdQRXWdQRXdS)Nr)rArrrBpopr)lockrrr _del_lockWs  zReentrantFileLock._del_lockcCs|j|jdS)N)rFr>)rrrr__del___szReentrantFileLock.__del__cCs|j|_|j|jdS)N)rCr> _lock_file)rrrrr3bs zReentrantFileLock.__enter__cCs"|j|j|j|jd|_dS)N)_releaser>rF)rr4r5r6rrrr7fs  zReentrantFileLock.__exit__FcCsvytjt|jWntk r(YnXy|jdWn8tk rp|rNtjd|j |j |jYnXdS)Ng-C6?z/lock file %s present, will block until released) r rr@r rrr loggingdebugrr!)rrEr9rrrrHkszReentrantFileLock._lock_filecCs |jdS)N)r!)rErrrrI|szReentrantFileLock._releaseccsH|j|}z(z|j||dVWd|j|XWd|j|d}XdS)N)rCrHrIrF)rr8r9rErrrr:s    zReentrantFileLock.lock_for_keyc cs.tt|j|d dVWdQRXdS)Nz.lock)r r@r )rr8rrrr;sz,ReentrantFileLock.non_reentrant_lock_for_key)r?)F)F)r#r$r%rrC staticmethodrFrGr3r7rHrIrr:r;r&rr)rrr=Ks      r=c@s6eZdZddZddZed ddZedd Zd S) NoOpFileLockcCstdS)N)r2)rrrrr3szNoOpFileLock.__enter__cCstdS)N)r2)rr4r5r6rrrr7szNoOpFileLock.__exit__Fccs dVdS)Nr)rr8r9rrrr:szNoOpFileLock.lock_for_keyccs dVdS)Nr)rr8rrrr;sz'NoOpFileLock.non_reentrant_lock_for_keyN)F)r#r$r%r3r7rr:r;rrrrrMs  rMr )__doc__rJr abcrr contextlibrpathlibr threadingrrZfilelockrr r rBrAr'r=rM__all__rrrrs   !H