File: //lib64/python3.6/asyncio/__pycache__/unix_events.cpython-36.opt-2.pyc
3
  \��  �            
   @   s  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ ddl	m
Z
 ddl	mZ ddl	mZ dd	l	mZ dd
l	mZ ddl	mZ ddl	mZ dd
lmZ ddlmZ dddddgZejdkr�ed��dd� Zy
ejZW n ek
�r(   dd� ZY nX G dd� dej�Ze ed��rRdd� Z!nd dl"Z"dd� Z!G d d!� d!ej#�Z$G d"d#� d#ej%ej&�Z'e ed$��r�ej(Z)nd dl"Z"d%d&� Z)G d'd(� d(ej*�Z+G d)d� d�Z,G d*d+� d+e,�Z-G d,d� de-�Z.G d-d� de-�Z/G d.d/� d/ej0�Z1eZ2e1Z3dS )0�    N�   )�base_events)�base_subprocess)�compat)�	constants)�
coroutines)�events)�futures)�selector_events)�	selectors)�
transports)�	coroutine)�logger�SelectorEventLoop�AbstractChildWatcher�SafeChildWatcher�FastChildWatcher�DefaultEventLoopPolicyZwin32z+Signals are not really supported on Windowsc             C   s   d S )N� )�signum�framer   r   �+/usr/lib64/python3.6/asyncio/unix_events.py�_sighandler_noop%   s    r   c             C   s   | S )Nr   )�pathr   r   r   �<lambda>.   s    r   c                   s�   e Zd Zd!� fdd�	Zdd� Z� fdd�Zdd	� Zd
d� Zdd
� Zdd� Z	dd� Z
d"dd�Zd#dd�Ze
d$dd��Zdd� Ze
dddd�dd��Ze
d%dddd�dd ��Z�  ZS )&�_UnixSelectorEventLoopNc                s   t � j|� i | _d S )N)�super�__init__�_signal_handlers)�self�selector)�	__class__r   r   r   7   s    z_UnixSelectorEventLoop.__init__c             C   s   t j� S )N)�socketZ
socketpair)r   r   r   r   �_socketpair;   s    z"_UnixSelectorEventLoop._socketpairc                s^   t � j�  tj� s2xFt| j�D ]}| j|� qW n(| jrZtjd| �d�t	| d� | jj
�  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   �sig)r!   r   r   r%   >