shell bypass 403
3
���e8
� @ 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>