관리-도구
편집 파일: unix_events.cpython-38.pyc
U i�fۿ � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddlZddlZddl mZ ddl mZ ddl mZ ddl mZ ddl mZ dd l mZ dd l mZ ddl mZ ddl mZ dd l mZ ddlmZ dZe jdkr�ed��dd� ZG dd� dej�ZG dd� dej �Z!G dd� dej"ej#�Z$G dd� dej%�Z&G dd� d�Z'dd� Z(G d d!� d!e'�Z)G d"d#� d#e)�Z*G d$d%� d%e)�Z+G d&d'� d'e'�Z,G d(d)� d)e'�Z-G d*d+� d+ej.�Z/eZ0e/Z1dS ),z2Selector event loop for Unix with signal handling.� N� )�base_events)�base_subprocess)� constants)� coroutines)�events)� exceptions)�futures)�selector_events)�tasks)� transports)�logger)�SelectorEventLoop�AbstractChildWatcher�SafeChildWatcher�FastChildWatcher�MultiLoopChildWatcher�ThreadedChildWatcher�DefaultEventLoopPolicyZwin32z+Signals are not really supported on Windowsc C s dS )zDummy signal handler.N� )�signum�framer r �8/opt/alt/python38/lib64/python3.8/asyncio/unix_events.py�_sighandler_noop* s r c s� e Zd ZdZd)� fdd� Z� fdd�Zdd� Zd d � Zdd� Zd d� Z dd� Z d*dd�Zd+dd�Zd,dd�Z dd� Zd-ddddd�dd�Zd.dddddd�dd �Zd!d"� Zd#d$� Zd%d&� Zd'd(� Z� ZS )/�_UnixSelectorEventLoopzdUnix event loop. Adds signal handling and UNIX Domain Socket support to SelectorEventLoop. Nc s t � �|� i | _d S �N)�super�__init__�_signal_handlers)�self�selector�� __class__r r r 5 s z_UnixSelectorEventLoop.__init__c sZ t � �� t�� s.t| j�D ]}| �|� qn(| jrVtjd| �d�t | d� | j� � d S )NzClosing the loop z@ on interpreter shutdown stage, skipping signal handlers removal��source)r �close�sys� is_finalizing�listr �remove_signal_handler�warnings�warn�ResourceWarning�clear�r �sigr! r r r% 9 s �z_UnixSelectorEventLoop.closec C s |D ]}|sq| � |� qd S r )�_handle_signal)r �datar r r r �_process_self_dataG s z)_UnixSelectorEventLoop._process_self_datac G sL t �|�st �|�rtd��| �|� | �� zt�| j� � � W n2 t tfk rt } ztt |���W 5 d}~X Y nX t�||| d�}|| j|<