관리-도구
편집 파일: symlinklockfile.cpython-36.pyc
3 �Pf8 � @ 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>