ó [³XMc@svdZddlmZddlmZddlmZddlmZddl m Z dZ de fd „ƒYZ d S( sd Cross-platform process-related functionality used by different L{IReactorProcess} implementations. iÿÿÿÿ(tqual(tgetWarningMethod(tFailure(terr(t EphemeralsUSince Twisted 8.2, IProcessProtocol.processExited is required. %s must implement it.t BaseProcesscBsDeZdZdZdZdZd„Zd„Zd„Z d„Z RS(icCs ||_dS(N(tproto(tselftprotocol((sA/usr/lib/python2.7/dist-packages/twisted/internet/_baseprocess.pyt__init__scCsjtƒ}t|jd|ƒ}||krVtƒtt|jjƒftddƒn|t|ƒƒdS(Nt processExitedt stackleveli( tobjecttgetattrRRt_missingProcessExitedRt __class__tDeprecationWarningR(RtreasontdefaultR ((sA/usr/lib/python2.7/dist-packages/twisted/internet/_baseprocess.pyt_callProcessExiteds  cCsE||_|jd7_d|_|j|j|ƒƒ|jƒdS(s; This is called when the child terminates. iN(tstatust lostProcesstNonetpidRt _getReasontmaybeCallProcessEnded(RR((sA/usr/lib/python2.7/dist-packages/twisted/internet/_baseprocess.pyt processEnded(s   cCsh|jdk rd|j|jƒ}|j}d|_y|jt|ƒƒWqdtddƒqdXndS(sD Call processEnded on protocol after final cleanup. s unexpected error in processEndedN(RRRRRRR(RRR((sA/usr/lib/python2.7/dist-packages/twisted/internet/_baseprocess.pyR3s  N( t__name__t __module__RRRRRR RRR(((sA/usr/lib/python2.7/dist-packages/twisted/internet/_baseprocess.pyRs  N( t__doc__ttwisted.python.reflectRttwisted.python.deprecateRttwisted.python.failureRttwisted.python.logRttwisted.persisted.stylesRRR(((sA/usr/lib/python2.7/dist-packages/twisted/internet/_baseprocess.pyts