Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
python38
/
lib
/
python3.8
/
site-packages
/
lockfile
/
__pycache__
/
//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� de�ZdS )� )�absolute_importN� )�LockBase� LockFailed� NotLocked� NotMyLock�LockTimeout� AlreadyLockedc @ s: e Zd ZdZd dd�Zdd� Zdd� Zd d � Zdd� ZdS )�LinkLockFilez�Lock 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�| j�j}|dkr�Y d S |d k r�t�� |kr�t� | j� |dkr�td| j ��ntd| j ��t�|d k �r |d �pd� Y qjX d S qjd S ) N�wbzfailed to create %sr � z&Timeout waiting to acquire lock for %sz%s is already locked� g�������?)�open�unique_name�close�IOErrorr �timeout�time�os�link� lock_file�OSError�stat�st_nlink�unlinkr �pathr �sleep)�selfr �end_timeZnlinks� r �F/opt/alt/python38/lib/python3.8/site-packages/lockfile/linklockfile.py�acquire s2 ��$zLinkLockFile.acquirec C sP | � � std| j ��ntj�| j�s4td| 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�| j�S �N)r r r# r r$ r r r r"