Your IP : 3.145.108.87
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|<