Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!watmath!clyde!floyd!harpo!seismo!hao!hplabs!sri-unix!salkind@nyu
From: salkind%nyu@sri-unix.UUCP
Newsgroups: net.unix-wizards
Subject: dh soft carrier bug
Message-ID: <16085@sri-arpa.UUCP>
Date: Fri, 27-Jan-84 19:49:10 EST
Article-I.D.: sri-arpa.16085
Posted: Fri Jan 27 19:49:10 1984
Date-Received: Sun, 5-Feb-84 14:06:07 EST
Lines: 26

From:  Lou Salkind 

Subject: dh soft carrier bug
Index:	sys/vaxuba/dh.c 4.2BSD

Description:
	If the soft carrier flag for a dh line is set (dhsoftCAR), and a
	dm modem interrupt occurs on the line, the TS_CARR_ON flag may be
	cleared.  This causes future reads/writes to the terminal to return
	EIO.
Repeat-By:
	On a line with modem control, bring down DTR to force a modem
	interrupt.  (This really can happen!)
Fix:
	In dmintr(), add the declaration:
		register int unit;
	and change
		if (addr->dmcsr&DM_CF) {
			tp = &dh11[(dm<<4)+(addr->dmcsr&0xf)];
	to
		unit = addr->dmcsr & 0xf;
		if (addr->dmcsr&DM_CF && (dhsoftCAR[dm]&(1<