9 ^ d dl mZ d dlZd dlZddlmZmZmZmZm Z m Z G d de ZdS ) )absolute_importN )LockBase LockFailed NotLocked NotMyLockLockTimeout AlreadyLockedc 2 e Zd ZdZddZd Zd Zd Zd ZdS ) LinkLockFilezLock access to a file using atomic property of link(2). >>> lock = LinkLockFile('somefile') >>> lock = LinkLockFile('somefile', threaded=False) Nc t | j d n%# t $ r t d| j z w xY w||n| j }t j }||dk r||z } t j | j | j d S # t $ r t j | j j }|dk rY d S |dt j |k rMt j | j |dk rt d| j z t! d| j z t j |d ur|dz pd Y nw xY w) Nwbzfailed to create %sr T z&Timeout waiting to acquire lock for %sz%s is already locked g?)openunique_namecloseIOErrorr timeouttimeoslink lock_fileOSErrorstatst_nlinkunlinkr pathr sleep)selfr end_timenlinkss u/builddir/build/BUILD/imunify360-venv-2.6.2/opt/imunify360/venv/lib/python3.11/site-packages/lockfile/linklockfile.pyacquirezLinkLockFile.acquire s G!4((..0000 G G G2T5EEFFF G %0''dl9;;7Q;;H ($.999, + L L L!122;Q;; FF *ty{{X/E/E $"2333"Q;;"- /=.2i/8 #9 #9 9 #00F04 1: #; #; ;Jwd2Cw|JsKKKKK% L s" '* "A<B .EBEEc 6 | st d| j z t j | j st d| j z t j | j t j | j d S )Nz%s is not lockedz%s is locked, but not by me) is_lockedr r r existsr r r r r s r# releasezLinkLockFile.release7 s ~~ G.:;;; 011 G9DIEFFF $"### $.!!!!! c J t j | j S N)r r r' r r( s r# r&