ó •abc@@sjddlmZddlZddlZddlmZmZmZmZm Z defd„ƒYZ dS(i(tabsolute_importNi(tLockBaset NotLockedt NotMyLockt LockTimeoutt AlreadyLockedtSymlinkLockFilecB@sMeZdZedd„Zdd„Zd„Zd„Zd„Z d„Z RS(s'Lock access to a file using symlink(2).cC@s6tj||||ƒtjj|jƒd|_dS(Ni(Rt__init__tostpathtsplitt unique_name(tselfR tthreadedttimeout((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR scC@s|dk r|n|j}tjƒ}|dk rL|dkrL||7}nxÅtrytj|j|jƒWnštk r |j ƒrdS|dk råtjƒ|krå|dkrÏt d|j ƒ‚qåt d|j ƒ‚ntj |dk r|dndƒqOXdSqOWdS(Nis&Timeout waiting to acquire lock for %ss%s is already lockedi gš™™™™™¹?(tNoneRttimetTrueRtsymlinkR t lock_filetOSErrort i_am_lockingRR Rtsleep(R Rtend_time((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pytacquires$      'cC@sX|jƒs"td|jƒ‚n"|jƒsDtd|jƒ‚ntj|jƒdS(Ns%s is not lockeds%s is locked, but not by me(t is_lockedRR RRRtunlinkR(R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pytrelease6s   cC@stjj|jƒS(N(RR tislinkR(R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR=scC@s.tjj|jƒo-tj|jƒ|jkS(N(RR RRtreadlinkR (R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR@scC@s,tjj|jƒr(tj|jƒndS(N(RR RRR(R ((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyt break_lockDsN( t__name__t __module__t__doc__RRRRRRRR(((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyR s #   ( t __future__RRRtRRRRRR(((sH/usr/lib/python2.7/site-packages/pip/_vendor/lockfile/symlinklockfile.pyts  (