summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-02-08 22:02:02 +0000
committerbde <bde@FreeBSD.org>1995-02-08 22:02:02 +0000
commitf568e81eb84b30f8efa15528f9564c40173e38e3 (patch)
tree26d13509075c43311363d94ca9b538c494b634fd
parent017b22dff1397a34d6111fafa42b76b4a643f9f5 (diff)
downloadFreeBSD-src-f568e81eb84b30f8efa15528f9564c40173e38e3.zip
FreeBSD-src-f568e81eb84b30f8efa15528f9564c40173e38e3.tar.gz
Disable bogus attempt to switch from the TS_ISOPEN state to the
TS_WOPEN state when CLOCAL is toggled from on to off while there is no carrier. There is no way back, and with sio there is no way forward either (TS_ISOPEN will never be set again for the current open). This bug was observed in 1.1 and was fixed in 1.1.5.
-rw-r--r--sys/kern/tty.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index 1bb7036..16b86ed 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.18 1995/01/06 14:56:42 bde Exp $
+ * $Id: tty.c,v 1.19 1995/01/30 06:16:59 bde Exp $
*/
#include <sys/param.h>
@@ -783,8 +783,10 @@ ttioctl(tp, cmd, data, flag)
if (!ISSET(tp->t_state, TS_CARR_ON) &&
ISSET(tp->t_cflag, CLOCAL) &&
!ISSET(t->c_cflag, CLOCAL)) {
+#if 0
CLR(tp->t_state, TS_ISOPEN);
SET(tp->t_state, TS_WOPEN);
+#endif
ttwakeup(tp);
}
tp->t_cflag = t->c_cflag;
OpenPOWER on IntegriCloud