File: //proc/self/root/usr/local/lib/python3.10/dist-packages/filelock/__pycache__/_unix.cpython-310.pyc
o
j�h/ � @ s� d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZ ddlm
Z
dd lmZ d
ZejdkrBG dd
� d
e
�Zn&zd dlZejejejejfZW n eefy] Y nw dZG dd
� d
e
�Zd
dgZdS )� )�annotationsN)�suppress)�ENOSYS)�Path)�cast� )�BaseFileLock)�ensure_directory_existsF�win32c @ �$ e Zd ZdZd dd�Zd dd�ZdS )
�UnixFileLock�HUses the :func:`fcntl.flock` to hard lock the lock file on unix systems.�return�Nonec C � t ��N��NotImplementedError��self� r �9/usr/local/lib/python3.10/dist-packages/filelock/_unix.py�_acquire � �UnixFileLock._acquirec C r r r r r r r �_release r �UnixFileLock._releaseN�r r ��__name__�
__module__�__qualname__�__doc__r r r r r r r s
r Tc @ r )
r r
r r c
C s� t | j� tjtjB }t| j��� s|tjO }t�| j|| j j
�}tt�� t�
|| j j
� W d � n1 s8w Y zt�|tjtjB � W n$ tym } zt�|� |jtkrbd}t|�|�W Y d }~d S d }~ww || j _d S )NzEFileSystem does not appear to support flock; use SoftFileLock instead)r � lock_file�os�O_RDWR�O_TRUNCr �exists�O_CREAT�open�_context�moder �PermissionError�fchmod�fcntl�flock�LOCK_EX�LOCK_NB�OSError�close�errnor r �lock_file_fd)r �
open_flags�fd� exception�msgr r r r '