Viewing File: /opt/alt/python38/lib/python3.8/site-packages/lockfile/__pycache__/linklockfile.cpython-38.pyc
U
UV\
@ sP d dl mZ d dlZd dlZddlmZmZmZmZm Z m
Z
G dd deZdS ) )absolute_importN )LockBase
LockFailed NotLocked NotMyLockLockTimeout
AlreadyLockedc @ s: e Zd ZdZd
ddZdd Zdd Zd d
Zdd ZdS )LinkLockFilezLock access to a file using atomic property of link(2).
>>> lock = LinkLockFile('somefile')
>>> lock = LinkLockFile('somefile', threaded=False)
Nc C s zt | jd W n" tk
r6 td| j Y nX |d k rD|n| j}t }|d k rj|dkrj||7 }zt| j| j W n t
k
r t| jj}|dkrY d S |d k rt |krt
| j |dkrtd| j ntd| j t|d k r
|d pd Y qjX d S qjd S ) Nwbzfailed to create %sr z&Timeout waiting to acquire lock for %sz%s is already locked
g?)openunique_namecloseIOErrorr timeouttimeoslink lock_fileOSErrorstatst_nlinkunlinkr pathr sleep)selfr Zend_timeZnlinks r /linklockfile.pyacquire s2 $zLinkLockFile.acquirec C sP | std| j ntj| js4td| j t| j t| j d S )Nz%s is not lockedz%s is locked, but not by me) is_lockedr r r existsr r r r r r r r release7 s zLinkLockFile.releasec C s t j| jS N)r r r"