Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!ihnp4!houxm!vax135!cornell!uw-beaver!tektronix!decvax!decwrl!sun!gnu From: gnu@sun.uucp (John Gilmore) Newsgroups: net.bugs.4bsd Subject: Fix for: rlogin sessions don't handle ^S/^Q in raw mode Message-ID: <1965@sun.uucp> Date: Wed, 23-Jan-85 06:47:38 EST Article-I.D.: sun.1965 Posted: Wed Jan 23 06:47:38 1985 Date-Received: Fri, 25-Jan-85 21:30:29 EST References: <20379@arizona.UUCP> Organization: Sun Microsystems, Inc. Lines: 25 > When I rlogin to one of our 4.2bsd Vaxs and do a "stty raw", it seems > that ^S and ^Q don't get picked up on the remote machine. ... > Also, rlogin to a 1.2 SUN from a 4.2 Vax does pass ^S/^Q to the remote (the > SUN), so it seems like a problem with reception rather than transmission > on the Vax. > Is this a bug or a feature? Does anybody have a fix for this? As you pointed out, we fixed the problem. It was in the packet pty driver. It's supposed to tell the master side of the interface when the stop/start characters are ^S/^Q or aren't. When the slave side of the pty goes into raw mode, it stops having stop/start chars, but the pty didn't tell the master this, so the rlogind never told the rlogin on the local machine to stop intercepting flow control. Here's our fix: % ssd -r1.5 -r1.6 tty_pty.c 480c480,481 < { int stop = (tp->t_stopc == ('s'&037) && tp->t_startc == ('q'&037)); --- > { int stop = ((tp->t_flags & RAW) == 0 && > tp->t_stopc == ('s'&037) && tp->t_startc == ('q'&037)); 483c484 < pti->pt_send &= TIOCPKT_NOSTOP; --- > pti->pt_send &= ~TIOCPKT_NOSTOP;