File: //usr/lib/python3/dist-packages/lockfile/__pycache__/mkdirlockfile.cpython-310.pyc
o
��UV � @ sd d dl mZmZ d dlZd dlZd dlZd dlZddlmZm Z m
Z
mZmZm
Z
G dd� de�ZdS )� )�absolute_import�divisionN� )�LockBase�
LockFailed� NotLocked� NotMyLock�LockTimeout�
AlreadyLockedc @ sD e Zd ZdZddd�Zddd�Zdd � Zd
d� Zdd
� Zdd� Z dS )�
MkdirLockFilez"Lock file by creating a directory.TNc C s6 t �| |||� tj�| jd| j| j| jf �| _ dS )zs
>>> lock = MkdirLockFile('somefile')
>>> lock = MkdirLockFile('somefile', threaded=False)
z%s.%s%sN)
r �__init__�os�path�join� lock_file�hostname�tname�pid�unique_name)�selfr �threaded�timeout� r �8/usr/lib/python3/dist-packages/lockfile/mkdirlockfile.pyr s
�
�zMkdirLockFile.__init__c C s |d ur|n| j }t�� }|d ur|dkr||7 }|d u r d}ntd|d �} zt�| j� W nH tyx t�� d }|j t j
krotj�| j
�rMY d S |d urit�� |kri|dkrbtd| j ��td| j ��t�|� ntd| j ��Y nw t| j
d ��� d S q()
Nr g�������?�
Tr z&Timeout waiting to acquire lock for %sz%s is already lockedzfailed to create %s�wb)r �time�maxr
�mkdirr �OSError�sys�exc_info�errno�EEXISTr �existsr r r
�sleepr �open�close)r r �end_time�wait�errr r r �acquire s<