version 1.224, 2008/05/25 19:22:21 |
version 1.225, 2008/06/16 09:51:14 |
Line 862 ttioctl(struct tty *tp, u_long cmd, void |
|
Line 862 ttioctl(struct tty *tp, u_long cmd, void |
|
#endif |
#endif |
mutex_spin_enter(&tty_lock); |
mutex_spin_enter(&tty_lock); |
while (isbackground(curproc, tp) && |
while (isbackground(curproc, tp) && |
p->p_pgrp->pg_jobc && (p->p_sflag & PS_PPWAIT) == 0 && |
p->p_pgrp->pg_jobc && (p->p_lflag & PL_PPWAIT) == 0 && |
!sigismasked(l, SIGTTOU)) { |
!sigismasked(l, SIGTTOU)) { |
mutex_spin_exit(&tty_lock); |
mutex_spin_exit(&tty_lock); |
|
|
Line 1679 ttread(struct tty *tp, struct uio *uio, |
|
Line 1679 ttread(struct tty *tp, struct uio *uio, |
|
*/ |
*/ |
if (isbackground(p, tp)) { |
if (isbackground(p, tp)) { |
if (sigismasked(curlwp, SIGTTIN) || |
if (sigismasked(curlwp, SIGTTIN) || |
p->p_sflag & PS_PPWAIT || p->p_pgrp->pg_jobc == 0) { |
p->p_lflag & PL_PPWAIT || p->p_pgrp->pg_jobc == 0) { |
mutex_spin_exit(&tty_lock); |
mutex_spin_exit(&tty_lock); |
return (EIO); |
return (EIO); |
} |
} |
Line 1947 ttwrite(struct tty *tp, struct uio *uio, |
|
Line 1947 ttwrite(struct tty *tp, struct uio *uio, |
|
*/ |
*/ |
p = curproc; |
p = curproc; |
if (isbackground(p, tp) && |
if (isbackground(p, tp) && |
ISSET(tp->t_lflag, TOSTOP) && (p->p_sflag & PS_PPWAIT) == 0 && |
ISSET(tp->t_lflag, TOSTOP) && (p->p_lflag & PL_PPWAIT) == 0 && |
!sigismasked(curlwp, SIGTTOU)) { |
!sigismasked(curlwp, SIGTTOU)) { |
if (p->p_pgrp->pg_jobc == 0) { |
if (p->p_pgrp->pg_jobc == 0) { |
error = EIO; |
error = EIO; |