tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
M\¬Qc@s¶dZddlmZddlZddlZdddgZdZdZd    ZdZd
„Z    d „Z
d „Z d „Z d„Z d„Zd„Zeed„Zeed„ZdS(sPseudo terminal utilities.iÿÿÿÿ(tselectNtopenptytforktspawniiicCsMytjƒSWnttfk
r'nXtƒ\}}t|ƒ}||fS(sdopenpty() -> (master_fd, slave_fd)
    Open a pty master/slave pair, using os.openpty() if possible.(tosRtAttributeErrortOSErrort_open_terminalt
slave_open(t    master_fdt
slave_nametslave_fd((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyRs cCs]ytjƒ\}}Wnttfk
r/n'Xtj|ƒ}tj|ƒ||fStƒS(s›master_open() -> (master_fd, slave_name)
    Open a pty master and return the fd, and the filename of the slave end.
    Deprecated, use openpty() instead.(RRRRtttynametcloseR(R    R R
((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyt master_open!s 
cCsôyddl}Wntk
r#nOXy"|jtjddƒ\}}Wntk
rg}tj|‚nX||fSxodD]g}x^dD]V}d||}ytj|tjƒ}Wntjk
rÌq†nX|d||fSWqyWtjd    ‚dS(
slOpen pty master and return (master_fd, tty_name).
    SGI and generic BSD version, for when openpty() fails.iÿÿÿÿNi¶itpqrstuvwxyzPQRSTt0123456789abcdefs/dev/ptys/dev/ttysout of pty devices(tsgit ImportErrort_getptyRtO_RDWRtIOErrorterrortopen(Rttty_nameR    tmsgtxtytpty_nametfd((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyR1s$ "
  cCs€tj|tjƒ}yddlm}m}Wntk
rC|SXy$|||dƒ|||dƒWntk
r{nX|S(s©slave_open(tty_name) -> slave_fd
    Open the pty slave and acquire the controlling terminal, returning
    opened filedescriptor.
    Deprecated, use openpty() instead.iÿÿÿÿ(tioctltI_PUSHtptemtldterm(RRRtfcntlRRRR(RtresultRR((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyRHs  cCs:ytjƒ\}}Wnttfk
r/n<X|tkraytjƒWqatk
r]qaXn||fStƒ\}}tjƒ}|tkr#tjƒtj|ƒtj    |t
ƒtj    |t ƒtj    |t ƒ|t krõtj|ƒntj tjt ƒtjƒ}tj|ƒn tj|ƒ||fS(sdfork() -> (pid, master_fd)
    Fork and make the child a session leader with a controlling terminal.(RtforkptyRRtCHILDtsetsidRRR tdup2t STDIN_FILENOt STDOUT_FILENOt STDERR_FILENORR R(tpidRR    R ttmp_fd((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyRZs0  
 
   cCs3x,|dkr.tj||ƒ}||}qWdS(s#Write all the data to a descriptor.tN(Rtwrite(Rtdatatn((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyt_writen‚scCstj|dƒS(sDefault read function.i(Rtread(R((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyt_readˆscCs·|tg}x¤tr²t|ggƒ\}}}||krq||ƒ}|s^|j|ƒqqtjt|ƒnt|kr|tƒ}|sŸ|jtƒq¯t||ƒqqWdS(sParent copy loop.
    Copies
            pty master -> standard output   (master_read)
            standard input -> pty master    (stdin_read)N(R(tTrueRtremoveRR.R)R1(R    t master_readt
stdin_readtfdstrfdstwfdstxfdsR/((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyt_copyŒs         cCs÷t|ƒtdƒkr$|f}ntƒ\}}|tkrVtj|d|Œny&tjtƒ}tjtƒd}Wntj    k
r˜d}nXyt
|||ƒWn6t t fk
rå|rætj ttj|ƒqænXtj|ƒdS(sCreate a spawned process.R-iiN(ttypeRR%Rtexeclptttyt    tcgetattrR(tsetrawRR<RRt    tcsetattrt    TCSAFLUSHR (targvR6R7R+R    tmodetrestore((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyR¡s"   
 
(t__doc__RRR?t__all__R(R)R*R%RRRRRR1R3R<R(((sK/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/pty.pyt<module>s"                      (