File: //lib64/python3.9/asyncio/__pycache__/unix_events.cpython-39.opt-2.pyc
a
    �DOg*�  �                   @   s�  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlZddlm
Z
 ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ dZe	jdkr�ed��dd� ZG dd� dej�ZG dd� dej�Z G dd� dej!ej"�Z#G dd� dej$�Z%G dd� d�Z&G dd� de&�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 )-�    N�   )�base_events)�base_subprocess)�	constants)�
coroutines)�events)�
exceptions)�futures)�selector_events)�tasks)�
transports)�logger)�SelectorEventLoop�AbstractChildWatcher�SafeChildWatcher�FastChildWatcher�PidfdChildWatcher�MultiLoopChildWatcher�ThreadedChildWatcher�DefaultEventLoopPolicy�win32z+Signals are not really supported on Windowsc                 C   s   d S �N� )�signum�framer   r   �+/usr/lib64/python3.9/asyncio/unix_events.py�_sighandler_noop*   s    r   c                       s�   e Zd Zd(� fdd�	Z� fdd�Zdd� Zdd	� Zd
d� Zdd
� Zdd� Z	d)dd�Z
d*dd�Zd+dd�Zdd� Z
d,ddddd�dd�Zd-dddddd�dd�Zd d!� Zd"d#� Zd$d%� Zd&d'� Z�  ZS ).�_UnixSelectorEventLoopNc                    s   t � �|� i | _d S r   )�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'