Unix Technical Digest V2 #4
Heiby
netnews at wnuxb.UUCP
Fri May 17 01:00:00 AEST 1985
Unix Technical Digest Thu, 16 May 85 Volume 2 : Issue 4
Today's Topics:
AT (IBM) XENIX Performance Limits
CTS/RTS handshaking on UNIX
----------------------------------------------------------------------
Date: 15 May 85 19:27:05 CDT (Wed)
From: ihnp4!tmq!peter
Subject: AT (IBM) XENIX Performance Limits
Ok, here's a question for PC/AT XENIX experts:
Can XENIX on an AT support up to it's licenced capacity (16 users),
provided that sufficent terminal hardware/drivers are supplied?
It's possible to put 16 serial ports now on an AT
(with the Octacom card) , so there is the hardware to do this.
Are there any ugly implementation hurdles?
Thanx,
Peter Kerrigan, ICOM systems, Buffalo Grove IL
ihnp4!tmq!peter
------------------------------
Date: Wed, 15 May 85 13:44:35 pdt
From: ihnp4!nsc!turtlevax!ken (Ken Turkowski)
Subject: CTS/RTS handshaking on UNIX
Enclosed is a "diff -c" of mods to 4.2BSD's tty driver to allow CTS/RTS
(actually DTR/CD) hardware handshaking, thanks to turtlevax!minc!grant.
-----------------------------------------------------------------
*** tty.c.std Thu Mar 22 07:12:16 1984
--- tty.c Thu Mar 22 07:36:25 1984
***************
*** 184,190
* Current input > threshold AND input is available to user program
*/
if (x >= TTYHOG/2 && (tp->t_delct>0 || (tp->t_flags&(RAW|CBREAK)))) {
! if (putc(tp->t_stopc, &tp->t_outq)==0) {
tp->t_state |= TS_TBLOCK;
ttstart(tp);
}
--- 184,191 -----
* Current input > threshold AND input is available to user program
*/
if (x >= TTYHOG/2 && (tp->t_delct>0 || (tp->t_flags&(RAW|CBREAK)))) {
! if ((tp->t_line == NTTYDISC) && (tp->t_flags & MDMBUF)) {
! (*cdevsw[major(tp->t_dev)].d_ioctl)(tp->t_dev, TIOCCDTR, 0, 0);
tp->t_state |= TS_TBLOCK;
ttstart(tp);
} else if (putc(tp->t_stopc, &tp->t_outq)==0) {
***************
*** 187,192
if (putc(tp->t_stopc, &tp->t_outq)==0) {
tp->t_state |= TS_TBLOCK;
ttstart(tp);
}
}
}
--- 188,196 -----
(*cdevsw[major(tp->t_dev)].d_ioctl)(tp->t_dev, TIOCCDTR, 0, 0);
tp->t_state |= TS_TBLOCK;
ttstart(tp);
+ } else if (putc(tp->t_stopc, &tp->t_outq)==0) {
+ tp->t_state |= TS_TBLOCK;
+ ttstart(tp);
}
}
}
***************
*** 1151,1157
* the input queue has gone down.
*/
if (tp->t_state&TS_TBLOCK && tp->t_rawq.c_cc < TTYHOG/5)
! if (putc(tp->t_startc, &tp->t_outq) == 0) {
tp->t_state &= ~TS_TBLOCK;
ttstart(tp);
}
--- 1155,1165 -----
* the input queue has gone down.
*/
if (tp->t_state&TS_TBLOCK && tp->t_rawq.c_cc < TTYHOG/5)
! if (tp->t_flags & MDMBUF) {
! (*cdevsw[major(tp->t_dev)].d_ioctl)(tp->t_dev, TIOCSDTR, 0, 0);
! tp->t_state &= ~TS_TBLOCK;
! ttstart(tp);
! } else if (putc(tp->t_startc, &tp->t_outq) == 0) {
tp->t_state &= ~TS_TBLOCK;
ttstart(tp);
}
------------------------------
End of Unix Technical Digest
******************************
--
Ronald W. Heiby / netnews at wnuxb.UUCP | unix-request at cbosgd.UUCP
AT&T Information Systems, Inc., Lisle, IL (CU-D21)
More information about the Mod.unix
mailing list