ó
    Ö›‘h�  ã                   ój   • S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  \" 5       rSr " S S	5      rg
)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                   ó^   • \ rS rSr% Sr\\   \S'   Sr\\   \S'   Sr	Sr
S rS rS rS	 rS
rg)ÚBaseProcessé   NÚpidÚstatusr   c                 ó   • Xl         g )N)Úproto)ÚselfÚprotocols     ÚaC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/internet/_baseprocess.pyÚ__init__ÚBaseProcess.__init__   s   € Ø�
ó    c                 óB  • [        5       n[        U R                  SU5      nX2L a:  [        5       " [        [        U R                  R                  5      4-  [        SS9  g [        R                  S5         U" [        U5      5        S S S 5        g ! , (       d  f       g = f)NÚprocessExitedr   )Ú
stacklevelzwhile calling processExited:)ÚobjectÚgetattrr   r   Ú_missingProcessExitedr   Ú	__class__ÚDeprecationWarningÚ_logÚfailuresHandledr   )r   ÚreasonÚdefaultr   s       r   Ú_callProcessExitedÚBaseProcess._callProcessExited"   sv   € Ü“(ˆÜ §
¡
¨O¸WÓEˆØÒ#ÜÔÜ%¬¨d¯j©j×.BÑ.BÓ)CÐ(EÑEÜ"Øóô ×%Ñ%Ð&DÕEÙœg f›oÔ.÷ F×EÖEús   Á5BÂ
Bc                 ó¨   • Xl         U =R                  S-  sl        SU l        U R                  U R	                  U5      5        U R                  5         g)z+
This is called when the child terminates.
é   N)r   ÚlostProcessr   r!   Ú
_getReasonÚmaybeCallProcessEnded)r   r   s     r   ÚprocessEndedÚBaseProcess.processEnded/   sD   € ð ŒØ×Ò˜AÑÕØˆŒØ×Ñ §¡°Ó 7Ô8Ø×"Ñ"Õ$r   c                 ó  • U R                   bg  U R                  U R                  5      nU R                   nSU l         [        R	                  S5         UR                  [        U5      5        SSS5        gg! , (       d  f       g= f)z4
Call processEnded on protocol after final cleanup.
Nzwhile calling processEnded:)r   r&   r   r   r   r(   r   )r   r   r   s      r   r'   Ú!BaseProcess.maybeCallProcessEnded9   si   € ð �:‰:Ñ!Ø—_‘_ T§[¡[Ó1ˆFØ—J‘JˆEØˆDŒJÜ×%Ñ%Ð&CÕDØ×"Ñ"¤7¨6£?Ô3÷ EÐDð	 "÷ EÕDús   ÁA6Á6
B)r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   ÚintÚ__annotations__r   r%   r   r   r!   r(   r'   Ú__static_attributes__© r   r   r	   r	      s<   ‡ Ø€Cˆ�#‰ÓØ €FˆH�S‰MÓ Ø€KØ€Eòò/ò%õ	4r   r	   N)Ú__doc__Útypingr   Útwisted.loggerr   Útwisted.python.deprecater   Útwisted.python.failurer   Útwisted.python.reflectr   r   r   r	   r3   r   r   Ú<module>r:      s6   ðñ
õ
 å !Ý 5Ý *Ý 'áƒx€ð*ð ÷)4ò )4r   