Your IP : 3.138.134.163
B
���a� � @ s� d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm Z ddl
mZ ddlm
Z
ejd kr|d dlZG d
d� de�ZnG dd� dee�ZdgZdS )
� )�annotationsN)�ABC)�ENOENT)�cast� )�BaseFileLock)�raise_on_exist_ro_file�win32c @ s, e Zd ZdZdd�dd�Zdd�dd�ZdS ) �WindowsFileLockzWUses the :func:`msvcrt.locking` function to hard lock the lock file on windows systems.�None)�returnc
C s� t | j� tjtjB tjB }yt�| j|�}W n. tk
r\ } z|jt krL� W d d }~X Y n<X yt
�|t
jd� W n tk
r� t�
|� Y nX || _d S )Nr )r �
_lock_file�os�O_RDWR�O_CREAT�O_TRUNC�open�OSError�errnor �msvcrt�lockingZLK_NBLCK�close�
_lock_file_fd)�self�mode�fd� exception� r �B/opt/alt/python37/lib/python3.7/site-packages/filelock/_windows.py�_acquire s
zWindowsFileLock._acquirec C sV t t| j�}d | _t�|tjd� t�|� yt�| j � W n t
k
rP Y nX d S )Nr )r �intr r r ZLK_UNLCKr r �remover
r )r r r r r �_release&