§
    Ètºf�  ã                   óx   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
  e¦   «         ZdZ G d„ d	¦  «        Zd
S )zd
Cross-platform process-related functionality used by different
L{IReactorProcess} implementations.
é    )ÚOptional)ÚLogger)ÚgetWarningMethod)ÚFailure)ÚqualzUSince Twisted 8.2, IProcessProtocol.processExited is required.  %s must implement it.c                   ód   — e Zd ZU dZee         ed<   dZee         ed<   dZdZ	d„ Z
d„ Zd„ Zd„ ZdS )	ÚBaseProcessNÚpidÚstatusr   c                 ó   — || _         d S )N)Úproto)ÚselfÚprotocols     ú\/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/twisted/internet/_baseprocess.pyÚ__init__zBaseProcess.__init__   s   € ØˆŒ
ˆ
ˆ
ó    c                 ón  — t          ¦   «         }t          | j        d|¦  «        }||u rA t          ¦   «         t          t          | j        j        ¦  «        fz  t          d¬¦  «         d S t           	                    d¦  «        5   |t          |¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚprocessExitedr   )Ú
stacklevelzwhile calling processExited:)ÚobjectÚgetattrr   r   Ú_missingProcessExitedr   Ú	__class__ÚDeprecationWarningÚ_logÚfailuresHandledr   )r   ÚreasonÚdefaultr   s       r   Ú_callProcessExitedzBaseProcess._callProcessExited"   s  € Ý‘(”(ˆÝ ¤
¨O¸WÑEÔEˆØ˜GÐ#Ð#ØÕÑÔÝ%­¨d¬jÔ.BÑ)CÔ)CÐ(EÑEÝ"Øðñ ô ð ð ð õ ×%Ò%Ð&DÑEÔEð /ð /Ø��g f™oœoÑ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   ÂB*Â*B.Â1B.c                 óº   — || _         | xj        dz  c_        d| _        |                      |                      |¦  «        ¦  «         |                      ¦   «          dS )z;
        This is called when the child terminates.
        é   N)r   ÚlostProcessr
   r   Ú
_getReasonÚmaybeCallProcessEnded)r   r   s     r   ÚprocessEndedzBaseProcess.processEnded/   s^   € ð ˆŒØÐÔ˜AÑÐÔØˆŒØ×Ò §¢°Ñ 7Ô 7Ñ8Ô8Ð8Ø×"Ò"Ñ$Ô$Ð$Ð$Ð$r   c                 ó  — | j         �|                      | j        ¦  «        }| j         }d| _         t                               d¦  «        5  |                     t          |¦  «        ¦  «         ddd¦  «         dS # 1 swxY w Y   dS dS )zD
        Call processEnded on protocol after final cleanup.
        Nzwhile calling processEnded:)r   r#   r   r   r   r%   r   )r   r   r   s      r   r$   z!BaseProcess.maybeCallProcessEnded9   sÈ   € ð Œ:Ð!Ø—_’_ T¤[Ñ1Ô1ˆFØ”JˆEØˆDŒJÝ×%Ò%Ð&CÑDÔDð 4ð 4Ø×"Ò"¥7¨6¡?¤?Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4ð	 "Ð!s   Á
#A:Á:A>ÂA>)Ú__name__Ú
__module__Ú__qualname__r
   r   ÚintÚ__annotations__r   r"   r   r   r   r%   r$   © r   r   r	   r	      s„   € € € € € € Ø€Cˆ�#ŒÐÐÑØ €FˆH�SŒMÐ Ð Ñ Ø€KØ€Eðð ð ð/ð /ð /ð%ð %ð %ð	4ð 	4ð 	4ð 	4ð 	4r   r	   N)Ú__doc__Útypingr   Útwisted.loggerr   Útwisted.python.deprecater   Útwisted.python.failurer   Útwisted.python.reflectr   r   r   r	   r,   r   r   ú<module>r3      s²   ðð
ð ð
 Ð Ð Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø *Ð *Ð *Ð *Ð *Ð *Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à€v�x„x€ð*ð ð)4ð )4ð )4ð )4ð )4ñ )4ô )4ð )4ð )4ð )4r   