관리-도구
편집 파일: synchronize.cpython-310.opt-1.pyc
o 6��fZ- � @ s g d �Z ddlZddlZddlZddlZddlZddlmZ ddlmZ ddlm Z z ddlm Z mZ W n ey? ed��w e ed ��\ZZej jZG d d� de�Z G dd � d e �ZG dd� de�ZG dd� de �ZG dd� de �ZG dd� de�ZG dd� de�ZG dd� dej�ZdS ))�Lock�RLock� Semaphore�BoundedSemaphore� Condition�Event� N� )�context)�process)�util)�SemLock� sem_unlinkz�This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.� c @ s\ e Zd Ze�� Zdd� Zedd� �Zdd� Z dd� Z d d � Zdd� Zd d� Z edd� �ZdS )r c C s� |d u r t j�� }|�� }tjdkp|dk}td�D ]}zt�|||| � � |� }| _ W n ty5 Y qw ntd��t� d|j � | �� tjdkrWdd� } t�| | � | j jd urydd lm} | | j jd � tj| tj| j jfdd� d S d S ) N�win32�fork�d zcannot find name for semaphorezcreated semlock with handle %sc S s | j �� d S �N)�_semlock�_after_fork)�obj� r �B/opt/alt/python310/lib64/python3.10/multiprocessing/synchronize.pyr G s z%SemLock.__init__.<locals>._after_forkr )�register� semaphorer )Zexitpriority)r Z_default_contextZget_contextZget_start_method�sys�platform�range�_multiprocessingr � _make_namer �FileExistsErrorr �debug�handle� _make_methodsZregister_after_fork�name�resource_trackerr ZFinalize�_cleanup)�self�kind�value�maxvalue�ctxr# Z unlink_now�i�slr r r r r �__init__2 s6 �� ��zSemLock.__init__c C s"