Viewing File: /opt/alt/python35/lib/python3.5/site-packages/lockfile/__pycache__/symlinklockfile.cpython-35.pyc



ùýUV8
ã@sjddlmZddlZddlZddlmZmZmZmZm	Z	Gdd„deƒZ
dS)é)Úabsolute_importNé)ÚLockBaseÚ	NotLockedÚ	NotMyLockÚLockTimeoutÚ
AlreadyLockedc@sgeZdZdZdddd„Zddd„Zdd	„Zd
d„Zdd
„Zdd„Z	dS)ÚSymlinkLockFilez'Lock access to a file using symlink(2).TNcCs6tj||||ƒtjj|jƒd|_dS)Nr)rÚ__init__ÚosÚpathÚsplitÚunique_name)ÚselfrZthreadedÚtimeout©rú/symlinklockfile.pyr

szSymlinkLockFile.__init__cCs
|dk	r|n|j}tjƒ}|dk	rI|dkrI||7}x½ytj|j|jƒWn˜tk
r|jƒr†dS|dk	rÙtjƒ|krÙ|dkrÆtd|j	ƒ‚nt
d|j	ƒ‚tj|dk	rõ|dndƒYqLXdSqLWdS)Nrz&Timeout waiting to acquire lock for %sz%s is already lockedé
gš™™™™™¹?)rÚtimerÚsymlinkrÚ	lock_fileÚOSErrorÚi_am_lockingrrrÚsleep)rrÚend_timerrrÚacquires$


(zSymlinkLockFile.acquirecCsU|jƒs"td|jƒ‚n|jƒsAtd|jƒ‚tj|jƒdS)Nz%s is not lockedz%s is locked, but not by me)Ú	is_lockedrrrrrÚunlinkr)rrrrÚrelease6s
zSymlinkLockFile.releasecCstjj|jƒS)N)rrÚislinkr)rrrrr=szSymlinkLockFile.is_lockedcCs.tjj|jƒo-tj|jƒ|jkS)N)rrrrÚreadlinkr)rrrrr@szSymlinkLockFile.i_am_lockingcCs)tjj|jƒr%tj|jƒdS)N)rrrrr)rrrrÚ
break_lockDszSymlinkLockFile.break_lock)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
rrrrr!rrrrr	
s#r	)Z
__future__rrrÚrrrrrr	rrrrÚ<module>s(
Back to Directory File Manager