← Back
Editing: forkedfunc.cpython-311.pyc
� ��al � �f � d Z ddlZddlZddlZddlZd� Z G d� d� � Z G d� de� � ZdS )z� ForkedFunc provides a way to run a function in a forked process and get at its return value, stdout and stderr output as well as signals and exitstatusus. � Nc �� �� t t |� � d� � �| �� � � k r't j �� � � | � � G �fd�d� � } |� � S )N�wc �$ �� e Zd Z� fd�Z� fd�ZdS )�$get_unbuffered_io.<locals>.AutoFlushc �Z �� �� |� � �� � � d S �N)�write�flush)�self�data�fs ��8/usr/lib/python3/dist-packages/py/_process/forkedfunc.pyr z*get_unbuffered_io.<locals>.AutoFlush.write s# �� � �G�G�D�M�M�M� �G�G�I�I�I�I�I� c �$ �� t �|� � S r )�getattr)r �namer s �r �__getattr__z0get_unbuffered_io.<locals>.AutoFlush.__getattr__ s �� ��1�d�#�#�#r N)�__name__� __module__�__qualname__r r )r s �r � AutoFlushr sG �� � � � � � � � � � � $� $� $� $� $� $� $r r )�open�str�fileno�os�dup2)�fd�filenamer r s @r �get_unbuffered_ior s� �� ��S��]�]�C� � �A� �Q�X�X�Z�Z��� ����� � �B����$� $� $� $� $� $� $� $� $� $� �9�;�;�r c �D � e Zd ZdZ d d�Zd� Zej fd�Zd� Z d� Z dS ) � ForkedFunc� Nr c � � |�g }|�i }|| _ || _ || _ t j j � � � x| _ }|� d� � | _ |� d� � | _ |� d� � | _ t j � � }|r || _ d S d | _ | � |||� � d S )N�retval�stdout�stderr)�fun�args�kwargs�py�path�local�mkdtemp�tempdir�ensure�RETVAL�STDOUT�STDERRr �fork�pid�_child) r r'