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