+
    Dfj                     l    R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ]! 4       tRt ! R R4      tR	# )
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                   T   a  ] tR t^t o RtRt^ tRtR tR t	R t
R tV 3R ltRtV tR# )BaseProcessNc                    Wn         R # )N)proto)selfprotocols   &&?/usr/lib/python3/dist-packages/twisted/internet/_baseprocess.py__init__BaseProcess.__init__   s    
    c                l   \        4       p\        V P                  R V4      pW2J dC   \        4       ! \        \        V P                  P                  4      3,          \        ^ R7       R# \        P                  R4      ;_uu_ 4        V! \        V4      4       RRR4       R#   + '       g   i     R# ; i)processExited)
stacklevelzwhile calling processExited:N)objectgetattrr
   r   _missingProcessExitedr   	__class__DeprecationWarning_logfailuresHandledr   )r   reasondefaultr   s   &&  r   _callProcessExitedBaseProcess._callProcessExited"   s|    (

OWE#%djj.B.B)C(EE" %%&DEEgfo. FEEEs   B""B3	c                    Wn         V ;P                  ^,          un        RV n        V P                  V P	                  V4      4       V P                  4        R# )z+
This is called when the child terminates.
N)statuslostProcesspidr   
_getReasonmaybeCallProcessEnded)r   r    s   &&r   processEndedBaseProcess.processEnded/   sD     A 78""$r   c                *   V P                   eq   V P                  V P                  4      pV P                   pRV n         \        P	                  R4      ;_uu_ 4        VP                  \        V4      4       RRR4       R# R#   + '       g   i     R# ; i)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   so     ::!__T[[1FJJEDJ%%&CDD""76?3 ED	 " EDDs   BB	c                R   < V ^8  d   Qh/ S[ S[,          ;R&   S[ S[,          ;R&   # )   r"   r    )r   int)format__classdict__s   "r   __annotate__BaseProcess.__annotate__   s#     	# SM  r   )r"   r
   r    )__name__
__module____qualname____firstlineno__r"   r    r!   r
   r   r   r%   r$   __annotate_func____static_attributes____classdictcell__)r-   s   @r   r   r      s5     C FKE/%	4A  r   r   N)__doc__typingr   twisted.loggerr   twisted.python.deprecater   twisted.python.failurer   twisted.python.reflectr   r   r   r    r   r   <module>r>      s6   

  ! 5 * 'x* )4 )4r   