Lines Matching refs:fds
43 unsafe fn bail(fdm: ::c_int, fds: ::c_int) -> ::c_int {
45 if fds >= 0 {
46 ::close(fds);
82 let fds = ::open(subordpath, O_RDWR | O_NOCTTY);
83 if fds < 0 {
88 let setup = ::ioctl(fds, I_FIND, LDTERM.as_ptr());
90 return bail(fdm, fds);
94 if ::ioctl(fds, I_PUSH, PTEM.as_ptr()) < 0 || ::ioctl(fds, I_PUSH, LDTERM.as_ptr()) < 0 {
95 return bail(fdm, fds);
100 if !termp.is_null() && ::tcsetattr(fds, TCSAFLUSH, termp) != 0 {
101 return bail(fdm, fds);
105 if !winp.is_null() && ::ioctl(fds, TIOCSWINSZ, winp) < 0 {
106 return bail(fdm, fds);
119 *asubord = fds;
129 let mut fds = -1;
131 if openpty(amain, &mut fds, name, termp, winp) != 0 {
137 return bail(*amain, fds);
141 ::close(fds);
155 || ::ioctl(fds, TIOCSCTTY, 0) < 0
156 || ::dup2(fds, 0) < 0
157 || ::dup2(fds, 1) < 0
158 || ::dup2(fds, 2) < 0
167 if fds > 2 {
168 ::close(fds);