controlling terminal is a vnode
authorMarc Teitelbaum <marc@ucbvax.Berkeley.EDU>
Tue, 21 Nov 1989 10:15:59 +0000 (02:15 -0800)
committerMarc Teitelbaum <marc@ucbvax.Berkeley.EDU>
Tue, 21 Nov 1989 10:15:59 +0000 (02:15 -0800)
SCCS-vsn: sys/kern/tty_pty.c 7.9

usr/src/sys/kern/tty_pty.c

index 2df79d5..d47c28b 100644 (file)
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)tty_pty.c   7.8 (Berkeley) %G%
+ *     @(#)tty_pty.c   7.9 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
@@ -132,11 +132,10 @@ ptsread(dev, uio, flag)
 
 again:
        if (pti->pt_flags & PF_REMOTE) {
 
 again:
        if (pti->pt_flags & PF_REMOTE) {
-               while (tp == u.u_ttyp && 
-                      u.u_procp->p_pgrp->pg_id != tp->t_pgid){
+               while (isbackground(u.u_procp, tp)) {
                        if ((u.u_procp->p_sigignore & sigmask(SIGTTIN)) ||
                            (u.u_procp->p_sigmask & sigmask(SIGTTIN)) ||
                        if ((u.u_procp->p_sigignore & sigmask(SIGTTIN)) ||
                            (u.u_procp->p_sigmask & sigmask(SIGTTIN)) ||
-                           !u.u_procp->p_pgrp->pg_jobc ||
+                           u.u_procp->p_pgrp->pg_jobc == 0 ||
                            u.u_procp->p_flag&SVFORK)
                                return (EIO);
                        pgsignal(u.u_procp->p_pgrp, SIGTTIN);
                            u.u_procp->p_flag&SVFORK)
                                return (EIO);
                        pgsignal(u.u_procp->p_pgrp, SIGTTIN);