Viewing File: /usr/lib/python3.6/site-packages/pip/_vendor/lockfile/__pycache__/mkdirlockfile.cpython-36.pyc
3
£éaj ã @ sd d dl mZmZ d dlZd dlZd dlZd dlZddlmZm Z m
Z
mZmZm
Z
G dd„ deƒZdS )é )Úabsolute_importÚdivisionNé )ÚLockBaseÚ
LockFailedÚ NotLockedÚ NotMyLockÚLockTimeoutÚ
AlreadyLockedc @ sD e Zd ZdZddd„Zddd„Zdd „ Zd
d„ Zdd
„ Zdd„ Z dS )Ú
MkdirLockFilez"Lock file by creating a directory.TNc C s6 t j| |||ƒ tjj| jd| j| j| jf ƒ| _ dS )zs
>>> lock = MkdirLockFile('somefile')
>>> lock = MkdirLockFile('somefile', threaded=False)
z%s.%s%sN)
r Ú__init__ÚosÚpathÚjoinÚ lock_fileZhostnameZtnameÚpidÚunique_name)Úselfr ZthreadedÚtimeout© r ú#/usr/lib/python3.6/mkdirlockfile.pyr s
zMkdirLockFile.__init__c C s |d k r|n| j }tjƒ }|d k r2|dkr2||7 }|d kr@d}ntd|d ƒ}x¼ytj| jƒ W n’ tk
rò tjƒ d }|j t j
kràtjj| j
ƒršd S |d k rÔtjƒ |krÔ|dkrÆtd| j ƒ‚ntd| j ƒ‚tj|ƒ ntd| j ƒ‚Y qPX t| j
dƒjƒ d S qPW d S ) Nr gš™™™™™¹?é
r z&Timeout waiting to acquire lock for %sz%s is already lockedzfailed to create %sÚwb)r ÚtimeÚmaxr
Úmkdirr ÚOSErrorÚsysÚexc_infoÚerrnoZEEXISTr Úexistsr r r
Zsleepr ÚopenÚclose)r r Zend_timeÚwaitÚerrr r r Úacquire s2
zMkdirLockFile.acquirec C sP | j ƒ std| j ƒ‚ntjj| jƒs4td| j ƒ‚tj| jƒ tj| j ƒ d S )Nz%s is not lockedz%s is locked, but not by me)
Ú is_lockedr r r
r r r ÚunlinkÚrmdirr )r r r r ÚreleaseA s zMkdirLockFile.releasec C s t jj| jƒS )N)r
r r r )r r r r r&