File: //home/arjun/projects/env/lib/python3.10/site-packages/filelock/__pycache__/_unix.cpython-310.pyc
o
!wem � @ s� d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm Z ddl
mZ ddlm
Z
d Zejd
kr<G dd� de�Znzd dlZW n eyK Y nw d
ZG dd� de�ZddgZdS )� )�annotationsN)�suppress)�ENOSYS)�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 �G/home/arjun/projects/env/lib/python3.10/site-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 tjB }t�| j|| jj�}t t
�� t�|| jj� W d � n1 s/w Y zt�
|tjtjB � W n$ tyd } zt�|� |jtkrYd}t|�|�W Y d }~d S d }~ww || j_d S )NzFFileSystem does not appear to support flock; user SoftFileLock instead)r � lock_file�os�O_RDWR�O_CREAT�O_TRUNC�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 $ s"