X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/0b4e3aa066abc0728aacb4bbeb86f53f9737156e..5eebf7385fedb1517b66b53c28e5aa6bb0a2be50:/bsd/kern/tty_pty.c?ds=sidebyside diff --git a/bsd/kern/tty_pty.c b/bsd/kern/tty_pty.c index 616d9e827..7003a4202 100644 --- a/bsd/kern/tty_pty.c +++ b/bsd/kern/tty_pty.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 2000-2002 Apple Computer, Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * @@ -71,6 +71,7 @@ #include #include #include +#include #include #ifndef NeXT @@ -80,14 +81,13 @@ #include #define FREE_BSDSTATIC __private_extern__ -#define d_open_t open_close_fcn_t -#define d_close_t open_close_fcn_t #define d_devtotty_t struct tty ** -#define d_ioctl_t ioctl_fcn_t -#define d_read_t read_write_fcn_t -#define d_write_t read_write_fcn_t -#define d_select_t select_fcn_t + +#ifdef d_stop_t +#undef d_stop_t +#endif typedef void d_stop_t __P((struct tty *tp, int rw)); + #endif /* NeXT */ #ifdef notyet @@ -234,7 +234,7 @@ int pty_init(int n_ptys) done: return (0); } -#endif DEVFS +#endif /* DEVFS */ /*ARGSUSED*/ FREE_BSDSTATIC int @@ -316,12 +316,14 @@ ptsread(dev, uio, flag) register struct tty *tp = pt_tty[minor(dev)]; register struct pt_ioctl *pti = &pt_ioctl[minor(dev)]; int error = 0; + struct uthread *ut; + ut = (struct uthread *)get_bsdthread_info(current_act()); again: if (pti->pt_flags & PF_REMOTE) { while (isbackground(p, tp)) { if ((p->p_sigignore & sigmask(SIGTTIN)) || - (p->p_sigmask & sigmask(SIGTTIN)) || + (ut->uu_sigmask & sigmask(SIGTTIN)) || p->p_pgrp->pg_jobc == 0 || p->p_flag & P_PPWAIT) return (EIO);