HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/twisted/internet/__pycache__/_baseprocess.cpython-38.pyc
U

�b��@sVdZddlmZddlmZddlmZddlmZddl	m
Z
dZGdd	�d	�Zd
S)zd
Cross-platform process-related functionality used by different
L{IReactorProcess} implementations.
�)�Optional)�getWarningMethod)�Failure)�err)�qualzUSince Twisted 8.2, IProcessProtocol.processExited is required.  %s must implement it.c@sVeZdZUdZeeed<dZeeed<dZdZ	dd�Z
dd�Zd	d
�Zdd�Z
dS)
�BaseProcessN�pid�statusrcCs
||_dS)N)�proto)�self�protocol�r
�?/usr/lib/python3/dist-packages/twisted/internet/_baseprocess.py�__init__szBaseProcess.__init__cCspt�}t|jd|�}||kr<t�tt|jj�ftdd�n0z|t|��Wnt	k
rjt
dd�YnXdS)N�
processExitedr)�
stacklevelz!unexpected error in processExited)�object�getattrr
r�_missingProcessExitedr�	__class__�DeprecationWarningr�
BaseExceptionr)r�reason�defaultrr
r
r�_callProcessExited s�zBaseProcess._callProcessExitedcCs6||_|jd7_d|_|�|�|��|��dS)z;
        This is called when the child terminates.
        �N)r	�lostProcessrr�
_getReason�maybeCallProcessEnded)rr	r
r
r�processEnded/s
zBaseProcess.processEndedcCsX|jdk	rT|�|j�}|j}d|_z|�t|��Wntk
rRtdd�YnXdS)zD
        Call processEnded on protocol after final cleanup.
        Nz unexpected error in processEnded)r
rr	rrrr)rrr
r
r
rr9s
z!BaseProcess.maybeCallProcessEnded)�__name__�
__module__�__qualname__rr�int�__annotations__r	rr
rrrrr
r
r
rrs

rN)
�__doc__�typingrZtwisted.python.deprecater�twisted.python.failurerZtwisted.python.logrZtwisted.python.reflectrrrr
r
r
r�<module>s�