summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-07-21 16:30:59 +0000
committerbde <bde@FreeBSD.org>1995-07-21 16:30:59 +0000
commit7eb2bbeebf70c30bde58e58f1000e19b2accfa1e (patch)
treeb96e0631cf5d83a843cd162eb32c6f2b8dbf0058
parent5d7eb9210cba744bb5f0d6952e8234ee6e958c2b (diff)
downloadFreeBSD-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.
-rw-r--r--sys/gnu/isdn/iitty.c11
-rw-r--r--sys/i386/isa/pcvt/pcvt_drv.c4
-rw-r--r--sys/kern/tty.c6
-rw-r--r--sys/kern/tty_pty.c4
4 files changed, 12 insertions, 13 deletions
diff --git a/sys/gnu/isdn/iitty.c b/sys/gnu/isdn/iitty.c
index 03d5f72..cbc3a16 100644
--- a/sys/gnu/isdn/iitty.c
+++ b/sys/gnu/isdn/iitty.c
@@ -1,6 +1,6 @@
-static char _ittyid[] = "@(#)$Id: iitty.c,v 1.4 1995/02/28 00:20:30 pst Exp $";
+static char _ittyid[] = "@(#)$Id: iitty.c,v 1.5 1995/03/28 07:54:43 bde Exp $";
/*******************************************************************************
- * II - Version 0.1 $Revision: 1.4 $ $State: Exp $
+ * II - Version 0.1 $Revision: 1.5 $ $State: Exp $
*
* Copyright 1994 Dietmar Friede
*******************************************************************************
@@ -10,6 +10,11 @@ static char _ittyid[] = "@(#)$Id: iitty.c,v 1.4 1995/02/28 00:20:30 pst Exp
*
*******************************************************************************
* $Log: iitty.c,v $
+ * Revision 1.5 1995/03/28 07:54:43 bde
+ * Add and move declarations to fix all of the warnings from `gcc -Wimplicit'
+ * (except in netccitt, netiso and netns) that I didn't notice when I fixed
+ * "all" such warnings before.
+ *
* Revision 1.4 1995/02/28 00:20:30 pst
* Incorporate bde's code-review comments.
*
@@ -106,7 +111,6 @@ ityopen(dev_t dev, int flag, int mode, struct proc * p)
tp->t_dev = dev;
if ((tp->t_state & TS_ISOPEN) == 0)
{
- tp->t_state |= TS_WOPEN;
ttychars(tp);
if (tp->t_ispeed == 0)
{
@@ -127,7 +131,6 @@ ityopen(dev_t dev, int flag, int mode, struct proc * p)
while ((flag & O_NONBLOCK) == 0 && (tp->t_cflag & CLOCAL) == 0 &&
(tp->t_state & TS_CARR_ON) == 0)
{
- tp->t_state |= TS_WOPEN;
if (error = ttysleep(tp, (caddr_t) & tp->t_rawq, TTIPRI | PCATCH,
ttopen, 0))
break;
diff --git a/sys/i386/isa/pcvt/pcvt_drv.c b/sys/i386/isa/pcvt/pcvt_drv.c
index fb2168f..e578d4a 100644
--- a/sys/i386/isa/pcvt/pcvt_drv.c
+++ b/sys/i386/isa/pcvt/pcvt_drv.c
@@ -421,9 +421,9 @@ pcopen(Dev_t dev, int flag, int mode, struct proc *p)
if ((tp->t_state & TS_ISOPEN) == 0)
{
-#if !(PCVT_FREEBSD > 114)
+#ifdef TS_WOPEN /* not (FreeBSD-1.1.5 or FreeBSD some time after 2.0.5) */
tp->t_state |= TS_WOPEN;
-#endif /* !(PCVT_FREEBSD > 114) */
+#endif
ttychars(tp);
tp->t_iflag = TTYDEF_IFLAG;
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,
OpenPOWER on IntegriCloud