diff options
author | bde <bde@FreeBSD.org> | 1995-07-21 16:30:59 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-07-21 16:30:59 +0000 |
commit | 7eb2bbeebf70c30bde58e58f1000e19b2accfa1e (patch) | |
tree | b96e0631cf5d83a843cd162eb32c6f2b8dbf0058 /sys/kern | |
parent | 5d7eb9210cba744bb5f0d6952e8234ee6e958c2b (diff) | |
download | FreeBSD-src-7eb2bbeebf70c30bde58e58f1000e19b2accfa1e.zip FreeBSD-src-7eb2bbeebf70c30bde58e58f1000e19b2accfa1e.tar.gz |
Obtained from: partly from an ancient patch of mine via 1.1.5
Temporarily nuke TS_WOPEN. It was only used for the obscure MDMBUF
flow control option in the kernel and for informational purposes
in `pstat -t'. The latter worked properly only for ptys. In
general there may be multiple processes sleeping in open() and
multiple processes that successfully opened the tty by opening it
in O_NONBLOCK mode or during a window when CLOCAL was set. tty.c
doesn't have enough information to maintain the flag but always
cleared it in ttyopen().
TS_WOPEN should be restored someday just so that `pstat -t' can
display it (MDMBUF is already fixed). Fixing it requires counting
of processes sleeping in open() in too many serial drivers.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/tty.c | 6 | ||||
-rw-r--r-- | sys/kern/tty_pty.c | 4 |
2 files changed, 3 insertions, 7 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index 5c14bc8..123c88c 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.c 8.8 (Berkeley) 1/21/94 - * $Id: tty.c,v 1.50 1995/07/21 14:15:09 bde Exp $ + * $Id: tty.c,v 1.51 1995/07/21 14:41:43 bde Exp $ */ /*- @@ -204,7 +204,6 @@ ttyopen(device, tp) SET(tp->t_state, TS_ISOPEN); bzero(&tp->t_winsize, sizeof(tp->t_winsize)); } - CLR(tp->t_state, TS_WOPEN); /* * Initialize or restore a cblock allocation policy suitable for @@ -833,7 +832,6 @@ ttioctl(tp, cmd, data, flag) !ISSET(t->c_cflag, CLOCAL)) { #if 0 CLR(tp->t_state, TS_ISOPEN); - SET(tp->t_state, TS_WOPEN); #endif ttwakeup(tp); } @@ -1251,7 +1249,7 @@ ttymodem(tp, flag) int flag; { - if (!ISSET(tp->t_state, TS_WOPEN) && ISSET(tp->t_cflag, MDMBUF)) { + if (ISSET(tp->t_state, TS_CARR_ON) && ISSET(tp->t_cflag, MDMBUF)) { /* * MDMBUF: do flow control according to carrier flag */ diff --git a/sys/kern/tty_pty.c b/sys/kern/tty_pty.c index 182efae..e67fc65 100644 --- a/sys/kern/tty_pty.c +++ b/sys/kern/tty_pty.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tty_pty.c 8.2 (Berkeley) 9/23/93 - * $Id: tty_pty.c,v 1.10 1995/04/10 01:45:43 ache Exp $ + * $Id: tty_pty.c,v 1.11 1995/05/30 08:06:14 rgrimes Exp $ */ /* @@ -122,7 +122,6 @@ ptsopen(dev, flag, devtype, p) return (ENXIO); tp = &pt_tty[minor(dev)]; if ((tp->t_state & TS_ISOPEN) == 0) { - tp->t_state |= TS_WOPEN; ttychars(tp); /* Set up default chars */ tp->t_iflag = TTYDEF_IFLAG; tp->t_oflag = TTYDEF_OFLAG; @@ -135,7 +134,6 @@ ptsopen(dev, flag, devtype, p) if (tp->t_oproc) /* Ctrlr still around. */ tp->t_state |= TS_CARR_ON; while ((tp->t_state & TS_CARR_ON) == 0) { - tp->t_state |= TS_WOPEN; if (flag&FNONBLOCK) break; error = ttysleep(tp, (caddr_t)&tp->t_rawq, TTIPRI | PCATCH, |