File: //opt/cppython/lib/python3.8/test/test_asyncio/__pycache__/test_windows_events.cpython-38.pyc
U
/D�g�# � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZ ejdkrXe� d��d dl
Z
d dlZd dlZd dlm
Z
d dlmZ dd� ZG d d
� d
ej�ZG dd� dej�ZG d
d� dej�ZG dd� dej�ZG dd� dej�Zedkr�e�� dS )� N)�mock�win32zWindows only)�windows_events)�utilsc C s t �d � d S �N)�asyncio�set_event_loop_policy� r r �D/opt/cppython/lib/python3.8/test/test_asyncio/test_windows_events.py�tearDownModule s r c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�
UpperProtoc C s
g | _ d S r )�buf��selfr r r
�__init__ s zUpperProto.__init__c C s
|| _ d S r )�trans)r r r r r
�connection_made s zUpperProto.connection_madec C s: | j �|� d|kr6| j�d�| j ��� � | j�� d S )N�
� )r
�appendr �write�join�upper�close)r �datar r r
�
data_received s zUpperProto.data_receivedN)�__name__�
__module__�__qualname__r r r r r r r
r s r c @ s e Zd Zdd� ZdS )�ProactorLoopCtrlCc C sr dd� }t j|d�}t�� }z<z"|�|j� |�� | �d� W n t k
rT Y nX W 5 | �|� X |�
� d S )Nc S s t �d� t�tj� d S )N皙�����?)�time�sleep�signal�raise_signal�SIGINTr r r r
�SIGINT_after_delay+ s
z9ProactorLoopCtrlC.test_ctrl_c.<locals>.SIGINT_after_delay��targetz%should not fall through 'run_forever')� threading�Threadr Zget_event_loop�
close_loopZ call_soon�start�run_foreverZfail�KeyboardInterruptr )r r&