File: //usr/local/lib/python3.10/dist-packages/filelock/__pycache__/_windows.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 lmZmZ ejd
krFd dlZG dd� de
�ZnG d
d� de
�ZdgZdS )� )�annotationsN)�suppress)�EACCES)�Path)�cast� )�BaseFileLock)�ensure_directory_exists�raise_on_not_writable_file�win32c @ �$ e Zd ZdZd dd�Zd dd�ZdS )
�WindowsFileLock�WUses the :func:`msvcrt.locking` function to hard lock the lock file on Windows systems.�return�Nonec
C s� t | j� t| j� tjtjB tjB }zt�| j|| jj �}W n t
y8 } z
|jtkr-� W Y d }~d S d }~ww z
t
�|t
jd� W n t
ya } zt�|� |jtkrV� W Y d }~d S d }~ww || j_d S )Nr )r
� lock_filer �os�O_RDWR�O_CREAT�O_TRUNC�open�_context�mode�OSError�errnor �msvcrt�locking�LK_NBLCK�close�lock_file_fd)�self�flags�fd� exception� r$ �</usr/local/lib/python3.10/dist-packages/filelock/_windows.py�_acquire s4
���
���
����WindowsFileLock._acquirec C sl t d| jj�}d | j_t�|tjd� t�|� tt �� t
| j��� W d � d S 1 s/w Y d S )N�intr )
r r r r r �LK_UNLCKr r r r r r �unlink)r r"