Edit File: symlinklockfile.cpython-36.opt-1.pyc
3 )�]b8 ������������������@���sL���d�dl�mZ�d�dlZd�dlZddlmZmZmZmZm Z �G�dd��de�Z dS�)�����)�absolute_importN����)�LockBase� NotLocked� NotMyLock�LockTimeout� AlreadyLockedc���������������@���sD���e�Zd�ZdZddd�Zddd�Zdd ��Zd d��Zdd ��Zdd��Z dS�)�SymlinkLockFilez'Lock access to a file using symlink(2).TNc�������������C���s(���t�j|�|||��tjj|�j�d�|�_d�S�)Nr���)r����__init__�os�path�split�unique_name)�selfr���Zthreaded�timeout��r����%/usr/lib/python3.6/symlinklockfile.pyr ��� ���s����zSymlinkLockFile.__init__c�������������C���s����|d�k r|n|�j�}tj��}|d�k r2|dkr2||7�}x�ytj|�j|�j��W�nt�tk r����|�j��rdd�S�|d�k r�tj��|kr�|dkr�td|�j ���nt d|�j ���tj|d�k r�|d�nd��Y�q4X�d�S�q4W�d�S�)Nr���z&Timeout waiting to acquire lock for %sz%s is already locked� ���g�������?)r����timer����symlinkr���� lock_file�OSError�i_am_lockingr���r���r���Zsleep)r���r���Zend_timer���r���r����acquire���s$���� zSymlinkLockFile.acquirec�������������C���s>���|�j���std|�j���n|�j��s.td|�j���tj|�j��d�S�)Nz%s is not lockedz%s is locked, but not by me)� is_lockedr���r���r���r���r����unlinkr���)r���r���r���r����release6���s ����zSymlinkLockFile.releasec�������������C���s���t�jj|�j�S�)N)r���r����islinkr���)r���r���r���r���r���=���s����zSymlinkLockFile.is_lockedc�������������C���s ���t�jj|�j�ot�j|�j�|�jkS�)N)r���r���r���r����readlinkr���)r���r���r���r���r���@���s����zSymlinkLockFile.i_am_lockingc�������������C���s���t�jj|�j�rt�j|�j��d�S�)N)r���r���r���r���r���)r���r���r���r���� break_lockD���s����zSymlinkLockFile.break_lock)TN)N) �__name__� __module__�__qualname__�__doc__r ���r���r���r���r���r���r���r���r���r���r ��� ���s��� #r ���)Z __future__r���r���r�����r���r���r���r���r���r ���r���r���r���r����<module>���s���