Sindbad~EG File Manager
�
SԚg� � �n � d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z d d�Z
G d� d� � ZdS )
� N)� ExitStack)�EIO)�
import_module� dummy input
c � � t d� � }t � � }|� � � \ }}t j d| f}t j |||||�� � }t j |� � t � � 5 } | �
|� � d� }
| � |
|� � | � t j |� � | �
t j
� � � � }|� |t j t j z � � t j |d� � |� � � D ]�\ }}
|
t j z rh t j |d� � }n*# t( $ r}|j t, k r� d}Y d }~nd }~ww xY w|s|c cd d d � � S |� |� � |
t j z rk |t j ||� � d � }n*# t( $ r}|j t, k r� d}Y d }~nd }~ww xY w|s |� |t j � � ����
# 1 swxY w Y d S ) N�ptyz-c)�stdin�stdout�stderr�envc �R � | � � � d S # t $ r Y d S w xY w�N)� terminate�ProcessLookupError)�procs �4/usr/local/lib/python3.11/test/support/pty_helper.pyr zrun_pty.<locals>.terminate s? � �
���� � � � � ��%�
�
�
����
���s � �
&�&FTi � )r � bytearray�openpty�sys�
executable�
subprocess�Popen�os�closer �
enter_context�callback� selectors�SelectSelector�register�
EVENT_READ�EVENT_WRITE�set_blocking�select�read�OSError�errnor �extend�write�modify)�script�inputr r �output�master�slave�argsr �cleanupr �sel�_�events�chunk�errs r �run_ptyr7
s� � �
��
�
�C�
�[�[�F��k�k�m�m�O�V�U��N�D�&�)�D���D��e�E�s�S�S�S�D��H�U�O�O�O� ��� (A�����d�#�#�#� � � � ����D�)�)�)������6�*�*�*� �#�#�I�$<�$>�$>�?�?�����V�Y�1�I�4I�I�J�J�J�
����&�&�&� A�"�z�z�|�|�
A�
A���F��I�0�0�
)�$� "���� 8� 8����"� $� $� $��9��+�+�!� #����������� $����
!� &�%�
�
�;(A� (A� (A� (A� (A� (A� (A� (A�<