File: //proc/1233/cwd/usr/lib/python3/dist-packages/dockerpty/__pycache__/pty.cpython-310.pyc
o
���V�+ � @ s� d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ G dd� de �Z
G dd� de �ZG dd� de�Zdd
d�Z
G dd
� d
e�ZG dd� de �ZdS )� N)�SSLErrorc @ s8 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� ZdS )
�WINCHHandlerz?
WINCH Signal handler to keep the PTY correctly sized.
c C s || _ d| _dS )z�
Initialize a new WINCH handler for the given PTY.
Initializing a handler has no immediate side-effects. The `start()`
method must be invoked for the signals to be trapped.
N)�pty�original_handler)�selfr � r �//usr/lib/python3/dist-packages/dockerpty/pty.py�__init__ s
zWINCHHandler.__init__c C s | � � | S )z5
Invoked on entering a `with` block.
)�start�r r r r � __enter__* s zWINCHHandler.__enter__c G s | � � dS )z4
Invoked on exiting a `with` block.
N)�stop)r �_r r r �__exit__2 s zWINCHHandler.__exit__c s � fdd�}t � t j|�� _dS )z�
Start trapping WINCH signals and resizing the PTY.
This method saves the previous WINCH handler so it can be restored on
`stop()`.
c s | t jkr� j�� d S d S �N)�signal�SIGWINCHr �resize)�signum�framer r r �handleA s
�z"WINCHHandler.start.<locals>.handleN)r r r )r r r r r r
9 s zWINCHHandler.startc C s"